(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

DispatcherObject.CheckAccess-Methode

Bestimmt, ob der aufrufende Thread auf dieses DispatcherObject zugreifen kann.

Namespace:  System.Windows.Threading
Assembly:  WindowsBase (in WindowsBase.dll)

public bool CheckAccess()

Rückgabewert

Typ: System.Boolean
true , wenn der aufrufende Thread auf dieses Objekt zugreifen kann, andernfalls false.

Nur der Thread, in dem der Dispatcher erstellt wurde, kann auf das DispatcherObject zugreifen.

Jeder Thread kann überprüfen, ob er auf dieses DispatcherObject zugreifen kann.

Der Unterschied zwischen CheckAccess und VerifyAccess besteht darin, dass CheckAccess einen booleschen Wert zurückgibt, mit dem angegeben wird, ob der aufrufende Thread auf das DispatcherObject zugreifen kann. VerifyAccess löst eine Ausnahme aus, wenn der aufrufende Thread nicht auf das DispatcherObject zugreifen kann.

Das Aufrufen dieser Methode entspricht dem Aufrufen von CheckAccess für das zugeordnete Dispatcher-Objekt.

Im folgenden Beispiel wird mit CheckAccess ermittelt, ob ein Thread auf den Thread zugreifen kann, in dem ein Button erstellt wurde. Die CheckAccess-Methode für den Button wird aufgerufen, um den Zugriff auf den Thread zu überprüfen. Wenn der aufrufende Thread über Zugriff verfügt, wird der Button aktualisiert, indem auf die Member des Button zugegriffen wird. Andernfalls wird ein Delegat, in dem ein Button als Argument zulässig ist, an den Dispatcher des Button gesendet.


// 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);
        }
    }
}


.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

Es werden nicht alle Versionen sämtlicher Plattformen von .NET Framework unterstützt.. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft