Questa documentazione è stata archiviata e non viene gestita.

Metodo Dispatcher.Invoke (DispatcherPriority, TimeSpan, Delegate, Object, Object[])

Aggiornamento: novembre 2007

Esegue in modo sincrono il delegato specificato con la priorità e gli argomenti specificati sul thread al quale Dispatcher è associato.

Spazio dei nomi:  System.Windows.Threading
Assembly:  WindowsBase (in WindowsBase.dll)

public Object Invoke(
	DispatcherPriority priority,
	TimeSpan timeout,
	Delegate method,
	Object arg,
	params Object[] args
)
public Object Invoke(
	DispatcherPriority priority,
	TimeSpan timeout,
	Delegate method,
	Object arg,
	Object[] args
)
public function Invoke(
	priority : DispatcherPriority, 
	timeout : TimeSpan, 
	method : Delegate, 
	arg : Object, 
	... args : Object[]
) : Object
Non è possibile utilizzare metodi in XAML.

Parametri

priority
Tipo: System.Windows.Threading.DispatcherPriority

Priorità, rispetto alle altre operazioni in sospeso nella coda degli eventi di Dispatcher, con la quale viene richiamato il metodo specificato.

timeout
Tipo: System.TimeSpan

Tempo massimo di attesa del termine dell'operazione.

method
Tipo: System.Delegate

Delegato a un metodo che accetta più argomenti, inserito nella coda degli eventi di Dispatcher.

arg
Tipo: System.Object

Oggetto da passare come argomento al metodo specificato.

args
Tipo: System.Object[]

Matrice di oggetti da passare come argomenti al metodo specificato.

Valore restituito

Tipo: System.Object

Valore restituito dal delegato richiamato oppure null se il delegato non restituisce alcun valore.

EccezioneCondizione
ArgumentException

priority è uguale a Inactive.

InvalidEnumArgumentException

priority non è un valore di DispatcherPriority valido.

ArgumentNullException

methodè null.

Arg può essere null se non è necessario un argomento.

In WPF l'oggetto sarà accessibile soltanto dal thread che ha creato DispatcherObject. Ad esempio, un thread in background rimosso dal thread principale dell'interfaccia utente non può aggiornare il contenuto di un oggetto Button creato sul thread dell'interfaccia utente. Per poter accedere alla proprietà Content di Button, il thread in background deve delegare l'operazione all'oggetto Dispatcher associato al thread dell'interfaccia utente. Questa operazione viene eseguita utilizzando Invoke o BeginInvoke. Invoke è sincrono e BeginInvoke è asincrono. L'operazione viene aggiunta alla coda degli eventi di Dispatcher con la priorità stabilita dall'oggetto DispatcherPriority specificato.

Invoke è un'operazione sincrona, pertanto il controllo non ritornerà all'oggetto chiamante fino alla restituzione da parte del callback.

Windows Vista

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

.NET Framework

Supportato in: 3.5, 3.0
Mostra: