Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

DispatcherObject.CheckAccess, méthode

Détermine si le thread appelant a accès à ce DispatcherObject.

Espace de noms :  System.Windows.Threading
Assembly :  WindowsBase (dans WindowsBase.dll)
public bool CheckAccess()

Valeur de retour

Type : System.Boolean
true si le thread appelant a accès à cet objet ; sinon, false.

Seul le thread sur lequel Dispatcher a été créé peut accéder à DispatcherObject.

Tout thread peut vérifier s'il a accès à DispatcherObject.

La différence entre CheckAccess et VerifyAccess est que CheckAccess retourne un booléen qui spécifie si le thread appelant a accès à DispatcherObject et VerifyAccess lève une exception si le thread appelant n'a pas accès à DispatcherObject.

L'appel de cette méthode est identique à l'appel de CheckAccess sur l'objet Dispatcher associé.

L'exemple suivant utilise CheckAccess pour déterminer si un thread a accès au thread sur lequel Button a été créé. La méthode CheckAccess sur Button est appelée pour vérifier l'accès au thread. Si le thread appelant a accès à cet objet, Button est mis à jour en accédant simplement aux membres de Button ; sinon, un délégué qui accepte Button en tant qu'argument est publié sur le Dispatcher du 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);
        }
    }
}


.NET Framework

Pris en charge dans : 4, 3.5, 3.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Date

Historique

Motif

Juillet 2010

Remarque ajoutée sur la comparaison avec Dispatcher.CheckAccess.

Commentaires client.

Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,