CheckAccess (Método)
Collapse the table of content
Expand the table of content
Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés

DispatcherObject.CheckAccess (Método)

Determina si el subproceso de la llamada tiene acceso a este DispatcherObject.

Espacio de nombres:  System.Windows.Threading
Ensamblado:  WindowsBase (en WindowsBase.dll)

public bool CheckAccess()

Valor devuelto

Tipo: System.Boolean
true si el subproceso de la llamada tiene acceso a este objeto; en caso contrario, false.

Sólo el subproceso en el que se creó Dispatcher puede tener acceso a DispatcherObject.

Cualquier subproceso puede comprobar si tiene acceso a DispatcherObject.

La diferencia entre CheckAccess y VerifyAccess es que CheckAccess devuelve un valor booleano que especifica si el subproceso de la llamada tiene acceso a DispatcherObject y VerifyAccess produce una excepción si el subproceso de la llamada no tiene acceso a DispatcherObject.

Llamar a este método es idéntico a llamar a CheckAccess en objeto Dispatcher asociado.

En el ejemplo siguiente se usa CheckAccess para determinar si un subproceso tiene acceso al subproceso en el que se creó Button. Se llama al método CheckAccess en Button para comprobar el acceso al subproceso. Si el subproceso de la llamada tiene acceso, Button se actualiza simplemente mediante el acceso a los miembros de Button; de lo contrario, se expone un delegado, que acepta Button como argumento, en el objeto Dispatcher de 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

Compatible con: 4, 3.5, 3.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

date

Historial

Motivo

Julio de 2010

Nota agregada que compara con Dispatcher.CheckAccess.

Comentarios de los clientes.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2016 Microsoft