DispatcherObject.CheckAccess DispatcherObject.CheckAccess DispatcherObject.CheckAccess DispatcherObject.CheckAccess Method

定義

呼び出し元のスレッドが、これに対するアクセス権を持つかどうかを判断しますDispatcherObjectします。Determines whether the calling thread has access to this DispatcherObject.

public:
 bool CheckAccess();
public bool CheckAccess ();
member this.CheckAccess : unit -> bool
Public Function CheckAccess () As Boolean

戻り値

true 呼び出し元のスレッドがあるこのオブジェクトへのアクセス場合、それ以外の場合、falseします。true if the calling thread has access to this object; otherwise, false.

次の例ではCheckAccessスレッドがスレッドへのアクセスを持つかどうかを判断するをButtonに作成されました。The following example uses CheckAccess to determine whether a thread has access to the thread that a Button was created on. CheckAccessメソッドをButtonが呼び出され、スレッドへのアクセスを確認します。The CheckAccess method on the Button is called to verify access to the thread. 呼び出し元のスレッドに、アクセスがある場合、Buttonだけのメンバーにアクセスして更新されます、 Button、それ以外のデリゲートを受け取る、Buttonに投稿を引数として、DispatcherButtonIf the calling thread has access, the Button is updated by just accessing the members of the Button; otherwise, a delegate, which accepts a Button as an argument, is posted onto the Dispatcher of the Button.

// Uses the DispatcherObject.CheckAccess method to determine if 
// the calling thread has access to the thread the UI object is on
private void TryToUpdateButtonCheckAccess(object uiObject)
{
    Button theButton = uiObject as Button;

    if (theButton != null)
    {
        // Checking if this thread has access to the object
        if(theButton.CheckAccess())
        {
            // This thread has access so it can update the UI thread
            UpdateButtonUI(theButton);
        }
        else
        {
            // This thread does not have access to the UI thread
            // Pushing update method on the Dispatcher of the UI thread
            theButton.Dispatcher.BeginInvoke(DispatcherPriority.Normal,
                new UpdateUIDelegate(UpdateButtonUI), theButton);
        }
    }
}
' Uses the DispatcherObject.CheckAccess method to determine if 
' the calling thread has access to the thread the UI object is on
Private Sub TryToUpdateButtonCheckAccess(ByVal uiObject As Object)
	Dim theButton As Button = TryCast(uiObject, Button)

	If theButton IsNot Nothing Then
		' Checking if this thread has access to the object
		If theButton.CheckAccess() Then
			' This thread has access so it can update the UI thread
			UpdateButtonUI(theButton)
		Else
			' This thread does not have access to the UI thread
			' Pushing update method on the Dispatcher of the UI thread
			theButton.Dispatcher.BeginInvoke(DispatcherPriority.Normal, New UpdateUIDelegate(AddressOf UpdateButtonUI), theButton)
		End If
	End If
End Sub

注釈

スレッドでのみ、Dispatcherが作成されたアクセスで、DispatcherObjectします。Only the thread the Dispatcher was created on may access the DispatcherObject.

任意のスレッドは、これに対するアクセス権を持っているかどうかを確認できますDispatcherObjectします。Any thread can check to see whether it has access to this DispatcherObject.

間の差CheckAccessVerifyAccessされるCheckAccess呼び出し元のスレッドが、これに対するアクセス権を持つかどうかを指定するブール値を返しますDispatcherObjectVerifyAccess呼び出し元のスレッドにへのアクセスがない場合は、例外をスローします、このDispatcherObjectします。The difference between CheckAccess and VerifyAccess is that CheckAccess returns a Boolean that specifies whether the calling thread has access to this DispatcherObject and VerifyAccess throws an exception if the calling thread does not have access to the this DispatcherObject.

呼び出すことと同じではこのメソッドを呼び出すCheckAccess、関連付けられているDispatcherオブジェクト。Calling this method is identical to calling CheckAccess on the associated Dispatcher object.

適用対象