Dispatcher.Invoke Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Spustí zadaného delegáta synchronně ve vlákně, ke které Dispatcher je přidružen.
Přetížení
Invoke(DispatcherPriority, TimeSpan, Delegate, Object, Object[]) |
Spustí zadaného delegáta se zadanou prioritou se zadanými argumenty synchronně na vlákně, ke které Dispatcher je přidružen. |
Invoke(DispatcherPriority, TimeSpan, Delegate, Object) |
Spustí zadaného delegáta se zadanou prioritou se zadaným argumentem synchronně ve vlákně, ke které Dispatcher je přidružen. |
Invoke(DispatcherPriority, Delegate, Object, Object[]) |
Spustí zadaného delegáta se zadanou prioritou se zadanými argumenty synchronně na vlákně, ke které Dispatcher je přidružen. |
Invoke(Action, DispatcherPriority, CancellationToken, TimeSpan) |
Provede zadaný Action synchronně se zadanou prioritou ve vlákně, ke které Dispatcher je přidružen. |
Invoke(DispatcherPriority, TimeSpan, Delegate) |
Spustí zadaného delegáta synchronně se zadanou prioritou a se zadanou hodnotou časového limitu ve vlákně Dispatcher byl vytvořen. |
Invoke(DispatcherPriority, Delegate, Object) |
Spustí zadaného delegáta se zadanou prioritou se zadaným argumentem synchronně ve vlákně, ke které Dispatcher je přidružen. |
Invoke(Delegate, TimeSpan, DispatcherPriority, Object[]) |
Spustí zadaného delegáta v určeném časovém rozsahu se zadanou prioritou se zadanými argumenty synchronně ve vlákně Dispatcher , ke které je přidružen. |
Invoke(Delegate, TimeSpan, Object[]) |
Spustí zadaného delegáta v určeném časovém rozsahu se zadanou prioritou se zadanými argumenty synchronně ve vlákně Dispatcher , ke které je přidružen. |
Invoke(Action, DispatcherPriority, CancellationToken) |
Provede zadaný Action synchronně se zadanou prioritou ve vlákně, ke které Dispatcher je přidružen. |
Invoke(DispatcherPriority, Delegate) |
Spustí zadaného delegáta synchronně se zadanou prioritou ve vlákně, ke Dispatcher kterému je přidružen. |
Invoke(Delegate, Object[]) |
Spustí zadaného delegáta se zadanými argumenty synchronně ve vlákně, ke které Dispatcher je přidružen. |
Invoke(Action, DispatcherPriority) |
Provede zadaný Action synchronně se zadanou prioritou ve vlákně, ke které Dispatcher je přidružen. |
Invoke(Action) |
Provede zadaný Action synchronně na vlákně, ke které Dispatcher je přidružen. |
Invoke(Delegate, DispatcherPriority, Object[]) |
Spustí zadaného delegáta se zadanou prioritou se zadanými argumenty synchronně na vlákně, ke které Dispatcher je přidružen. |
Invoke<TResult>(Func<TResult>) |
Provede zadaný Func<TResult> synchronně na vlákně, ke které Dispatcher je přidružen. |
Invoke<TResult>(Func<TResult>, DispatcherPriority) |
Provede zadaný Func<TResult> synchronně se zadanou prioritou ve vlákně, ke které Dispatcher je přidružen. |
Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken) |
Provede zadaný Func<TResult> synchronně se zadanou prioritou ve vlákně, ke které Dispatcher je přidružen. |
Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken, TimeSpan) |
Provede zadaný Func<TResult> synchronně se zadanou prioritou ve vlákně, ke které Dispatcher je přidružen. |
Příklady
Následující příklad umístí delegáta na adresu Dispatcher pomocí NormalInvoke.
// Places the delegate onto the UI Thread's Dispatcher
private void timer_Elapsed(object sender, ElapsedEventArgs e)
{
// Place delegate on the Dispatcher.
this.Dispatcher.Invoke(DispatcherPriority.Normal,
new TimerDispatcherDelegate(TimerWorkItem));
}
' Places the delegate onto the UI Thread's Dispatcher
Private Sub timer_Elapsed(ByVal sender As Object, ByVal e As ElapsedEventArgs)
' Place delegate on the Dispatcher.
Me.Dispatcher.Invoke(DispatcherPriority.Normal, New TimerDispatcherDelegate(AddressOf TimerWorkItem))
End Sub
Poznámky
Ve WPF může k ho objektu DispatcherObject přistupovat pouze vlákno, které vytvořilo objekt. Například vlákno na pozadí, které je odsunutí z hlavního vlákna uživatelského rozhraní nemůže aktualizovat obsah objektu Button , který byl vytvořen ve vlákně uživatelského rozhraní. Aby vlákno na pozadí mohlo přistupovat k vlastnosti Content objektu Button, musí vlákno na pozadí delegovat práci na vlákno přidružené k Dispatcher vláknu uživatelského rozhraní. K tomu slouží buď Invoke , nebo BeginInvoke. Invoke je synchronní a BeginInvoke asynchronní. Operace se přidá do fronty Dispatcher událostí v zadaném DispatcherPriority.
Invoke je synchronní operace; proto se ovládací prvek nevrátí do volajícího objektu, dokud se zpětné volání nevrátí.
Invoke(DispatcherPriority, TimeSpan, Delegate, Object, Object[])
Spustí zadaného delegáta se zadanou prioritou se zadanými argumenty synchronně na vlákně, ke které Dispatcher je přidružen.
public:
System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, TimeSpan timeout, Delegate ^ method, System::Object ^ arg, ... cli::array <System::Object ^> ^ args);
[System.ComponentModel.Browsable(false)]
public object Invoke (System.Windows.Threading.DispatcherPriority priority, TimeSpan timeout, Delegate method, object arg, params object[] args);
[<System.ComponentModel.Browsable(false)>]
member this.Invoke : System.Windows.Threading.DispatcherPriority * TimeSpan * Delegate * obj * obj[] -> obj
Public Function Invoke (priority As DispatcherPriority, timeout As TimeSpan, method As Delegate, arg As Object, ParamArray args As Object()) As Object
Parametry
- priority
- DispatcherPriority
Priorita vzhledem k ostatním čekajícím operacím ve frontě Dispatcher událostí, se kterou je vyvolána zadaná metoda.
- timeout
- TimeSpan
Maximální doba čekání na spuštění operace. Jakmile se operace spustí, dokončí se před vrácením této metody. Chcete-li určit nekonečné čekání, použijte hodnotu -1. Při volání stejného vlákna je jakákoli jiná záporná hodnota převedena na -1, což vede k nekonečnému čekání. Při volání napříč vlákny vyvolá jakákoli jiná záporná hodnota hodnotu ArgumentOutOfRangeException.
- method
- Delegate
Delegát metody, která přijímá více argumentů, které jsou vloženy do Dispatcher fronty událostí.
- arg
- Object
Objekt, který se má předat jako argument zadané metodě.
- args
- Object[]
Pole objektů, které se mají předat jako argumenty zadané metodě.
Návraty
Vrácená hodnota z delegáta, který je vyvolán, nebo null
pokud delegát nemá žádnou návratnou hodnotu.
- Atributy
Výjimky
priority
se rovná hodnotě Inactive.
priority
není platný DispatcherPriority.
method
je null
.
timeout
je záporné číslo jiné než -1 a tato metoda byla vyvolána napříč vlákny.
Poznámky
arg
může být null
, pokud argument není potřeba.
Ve WPF může k ho objektu DispatcherObject přistupovat pouze vlákno, které vytvořilo objekt. Například vlákno na pozadí, které je odsunutí z hlavního vlákna uživatelského rozhraní nemůže aktualizovat obsah objektu Button , který byl vytvořen ve vlákně uživatelského rozhraní. Aby vlákno na pozadí mohlo přistupovat k vlastnosti Content objektu Button, musí vlákno na pozadí delegovat práci na vlákno přidružené k Dispatcher vláknu uživatelského rozhraní. K tomu slouží buď Invoke , nebo BeginInvoke. Invoke je synchronní a BeginInvoke asynchronní. Operace se přidá do fronty Dispatcher událostí v zadaném DispatcherPriority.
Invoke je synchronní operace; proto se ovládací prvek nevrátí do volajícího objektu, dokud se zpětné volání nevrátí.
Platí pro
Invoke(DispatcherPriority, TimeSpan, Delegate, Object)
Spustí zadaného delegáta se zadanou prioritou se zadaným argumentem synchronně ve vlákně, ke které Dispatcher je přidružen.
public:
System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, TimeSpan timeout, Delegate ^ method, System::Object ^ arg);
[System.ComponentModel.Browsable(false)]
public object Invoke (System.Windows.Threading.DispatcherPriority priority, TimeSpan timeout, Delegate method, object arg);
[<System.ComponentModel.Browsable(false)>]
member this.Invoke : System.Windows.Threading.DispatcherPriority * TimeSpan * Delegate * obj -> obj
Public Function Invoke (priority As DispatcherPriority, timeout As TimeSpan, method As Delegate, arg As Object) As Object
Parametry
- priority
- DispatcherPriority
Priorita vzhledem k ostatním čekajícím operacím ve frontě Dispatcher událostí, se kterou je vyvolána zadaná metoda.
- timeout
- TimeSpan
Maximální doba čekání na spuštění operace. Jakmile se operace spustí, dokončí se před vrácením této metody. Chcete-li určit nekonečné čekání, použijte hodnotu -1. Při volání stejného vlákna je jakákoli jiná záporná hodnota převedena na -1, což vede k nekonečnému čekání. Při volání napříč vlákny vyvolá jakákoli jiná záporná hodnota hodnotu ArgumentOutOfRangeException.
- method
- Delegate
Delegát metody, která přijímá více argumentů, které jsou vloženy do Dispatcher fronty událostí.
- arg
- Object
Objekt, který se má předat jako argument dané metodě. K tomu může dojít null
v případě, že nejsou potřeba žádné argumenty.
Návraty
Vrácená hodnota z delegáta, který je vyvolán, nebo null
pokud delegát nemá žádnou návratnou hodnotu.
- Atributy
Výjimky
priority
se rovná hodnotě Inactive.
priority
není platná priorita.
method
je null
.
Poznámky
arg
může být null
, pokud argument není potřeba.
Ve WPF může k ho objektu DispatcherObject přistupovat pouze vlákno, které vytvořilo objekt. Například vlákno na pozadí, které je odsunutí z hlavního vlákna uživatelského rozhraní nemůže aktualizovat obsah objektu Button , který byl vytvořen ve vlákně uživatelského rozhraní. Aby vlákno na pozadí mohlo přistupovat k vlastnosti Content objektu Button, musí vlákno na pozadí delegovat práci na vlákno přidružené k Dispatcher vláknu uživatelského rozhraní. K tomu slouží buď Invoke , nebo BeginInvoke. Invoke je synchronní a BeginInvoke asynchronní. Operace se přidá do fronty Dispatcher událostí v zadaném DispatcherPriority.
Invoke je synchronní operace; proto se ovládací prvek nevrátí do volajícího objektu, dokud se zpětné volání nevrátí.
Platí pro
Invoke(DispatcherPriority, Delegate, Object, Object[])
Spustí zadaného delegáta se zadanou prioritou se zadanými argumenty synchronně na vlákně, ke které Dispatcher je přidružen.
public:
System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, Delegate ^ method, System::Object ^ arg, ... cli::array <System::Object ^> ^ args);
[System.ComponentModel.Browsable(false)]
public object Invoke (System.Windows.Threading.DispatcherPriority priority, Delegate method, object arg, params object[] args);
[<System.ComponentModel.Browsable(false)>]
member this.Invoke : System.Windows.Threading.DispatcherPriority * Delegate * obj * obj[] -> obj
Public Function Invoke (priority As DispatcherPriority, method As Delegate, arg As Object, ParamArray args As Object()) As Object
Parametry
- priority
- DispatcherPriority
Priorita vzhledem k ostatním čekajícím operacím ve frontě Dispatcher událostí, se kterou je vyvolána zadaná metoda.
- method
- Delegate
Delegát metody, která přijímá více argumentů, které jsou vloženy do Dispatcher fronty událostí.
- arg
- Object
Objekt, který se má předat jako argument dané metodě.
- args
- Object[]
Pole objektů, které se předávají jako argumenty dané metodě.
Návraty
Vrácená hodnota z delegáta, který je vyvolán, nebo null
pokud delegát nemá žádnou návratnou hodnotu.
- Atributy
Výjimky
priority
se rovná hodnotě Inactive.
priority
není platná priorita.
method
je null
.
Poznámky
arg
může být null
, pokud argument není potřeba.
Ve WPF může k ho objektu DispatcherObject přistupovat pouze vlákno, které vytvořilo objekt. Například vlákno na pozadí, které je odsunutí z hlavního vlákna uživatelského rozhraní nemůže aktualizovat obsah objektu Button , který byl vytvořen ve vlákně uživatelského rozhraní. Aby vlákno na pozadí mohlo přistupovat k vlastnosti Content objektu Button, musí vlákno na pozadí delegovat práci na vlákno přidružené k Dispatcher vláknu uživatelského rozhraní. K tomu slouží buď Invoke , nebo BeginInvoke. Invoke je synchronní a BeginInvoke asynchronní. Operace se přidá do fronty Dispatcher událostí v zadaném DispatcherPriority.
Invoke je synchronní operace; proto se ovládací prvek nevrátí do volajícího objektu, dokud se zpětné volání nevrátí.
Platí pro
Invoke(Action, DispatcherPriority, CancellationToken, TimeSpan)
Provede zadaný Action synchronně se zadanou prioritou ve vlákně, ke které Dispatcher je přidružen.
public:
void Invoke(Action ^ callback, System::Windows::Threading::DispatcherPriority priority, System::Threading::CancellationToken cancellationToken, TimeSpan timeout);
public void Invoke (Action callback, System.Windows.Threading.DispatcherPriority priority, System.Threading.CancellationToken cancellationToken, TimeSpan timeout);
member this.Invoke : Action * System.Windows.Threading.DispatcherPriority * System.Threading.CancellationToken * TimeSpan -> unit
Public Sub Invoke (callback As Action, priority As DispatcherPriority, cancellationToken As CancellationToken, timeout As TimeSpan)
Parametry
- callback
- Action
Delegát akce, který se má vyvolat prostřednictvím dispečera.
- priority
- DispatcherPriority
Priorita, která určuje pořadí, ve kterém je zadaná zpětná volání vyvolána vzhledem k ostatním čekajícím operacím v .Dispatcher
- cancellationToken
- CancellationToken
Objekt, který označuje, jestli se má akce zrušit.
- timeout
- TimeSpan
Maximální doba čekání na spuštění operace. Jakmile se operace spustí, dokončí se před vrácením této metody. Chcete-li určit nekonečné čekání, použijte hodnotu -1. Při volání stejného vlákna je jakákoli jiná záporná hodnota převedena na -1, což vede k nekonečnému čekání. Při volání napříč vlákny vyvolá jakákoli jiná záporná hodnota hodnotu ArgumentOutOfRangeException.
Výjimky
callback
je null
.
timeout
je záporné číslo jiné než -1 a tato metoda byla vyvolána napříč vlákny.
priority
není platná priorita.
Token zrušení byl zrušen. Tato výjimka se uloží do vrácené úlohy.
Platí pro
Invoke(DispatcherPriority, TimeSpan, Delegate)
Spustí zadaného delegáta synchronně se zadanou prioritou a se zadanou hodnotou časového limitu ve vlákně Dispatcher byl vytvořen.
public:
System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, TimeSpan timeout, Delegate ^ method);
[System.ComponentModel.Browsable(false)]
public object Invoke (System.Windows.Threading.DispatcherPriority priority, TimeSpan timeout, Delegate method);
[<System.ComponentModel.Browsable(false)>]
member this.Invoke : System.Windows.Threading.DispatcherPriority * TimeSpan * Delegate -> obj
Public Function Invoke (priority As DispatcherPriority, timeout As TimeSpan, method As Delegate) As Object
Parametry
- priority
- DispatcherPriority
Priorita vzhledem k ostatním čekajícím operacím ve frontě Dispatcher událostí, se kterou je vyvolána zadaná metoda.
- timeout
- TimeSpan
Maximální doba čekání na spuštění operace. Jakmile se operace spustí, dokončí se před vrácením této metody. Chcete-li určit nekonečné čekání, použijte hodnotu -1. Při volání stejného vlákna je jakákoli jiná záporná hodnota převedena na -1, což vede k nekonečnému čekání. Při volání napříč vlákny vyvolá jakákoli jiná záporná hodnota hodnotu ArgumentOutOfRangeException.
- method
- Delegate
Delegát na metodu, která nepřijímá žádné argumenty, která je vložena do Dispatcher fronty událostí.
Návraty
Vrácená hodnota z delegáta, který je vyvolán, nebo null
pokud delegát nemá žádnou návratnou hodnotu.
- Atributy
Výjimky
method
je null
.
timeout
je záporné číslo jiné než -1 a tato metoda byla vyvolána napříč vlákny.
priority
se rovná hodnotě Inactive.
priority
není platná priorita.
Poznámky
Ve WPF může k ho objektu DispatcherObject přistupovat pouze vlákno, které vytvořilo objekt. Například vlákno na pozadí, které je odsunutí z hlavního vlákna uživatelského rozhraní nemůže aktualizovat obsah objektu Button , který byl vytvořen ve vlákně uživatelského rozhraní. Aby vlákno na pozadí mohlo přistupovat k vlastnosti Content objektu Button, musí vlákno na pozadí delegovat práci na vlákno přidružené k Dispatcher vláknu uživatelského rozhraní. K tomu slouží buď Invoke , nebo BeginInvoke. Invoke je synchronní a BeginInvoke asynchronní. Operace se přidá do fronty Dispatcher událostí v zadaném DispatcherPriority.
Invoke je synchronní operace; proto se ovládací prvek nevrátí do volajícího objektu, dokud se zpětné volání nevrátí.
Platí pro
Invoke(DispatcherPriority, Delegate, Object)
Spustí zadaného delegáta se zadanou prioritou se zadaným argumentem synchronně ve vlákně, ke které Dispatcher je přidružen.
public:
System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, Delegate ^ method, System::Object ^ arg);
[System.ComponentModel.Browsable(false)]
public object Invoke (System.Windows.Threading.DispatcherPriority priority, Delegate method, object arg);
[<System.ComponentModel.Browsable(false)>]
member this.Invoke : System.Windows.Threading.DispatcherPriority * Delegate * obj -> obj
Public Function Invoke (priority As DispatcherPriority, method As Delegate, arg As Object) As Object
Parametry
- priority
- DispatcherPriority
Priorita vzhledem k ostatním čekajícím operacím ve frontě Dispatcher událostí, se kterou je vyvolána zadaná metoda.
- method
- Delegate
Delegát metody, která přijímá jeden argument, který je vložen do Dispatcher fronty událostí.
- arg
- Object
Objekt, který se má předat jako argument dané metodě.
Návraty
Vrácená hodnota z delegáta, který je vyvolán, nebo null
pokud delegát nemá žádnou návratnou hodnotu.
- Atributy
Výjimky
priority
se rovná hodnotě Inactive.
priority
není platná priorita.
method
je null
.
Poznámky
arg
může být null
, pokud argument není potřeba.
Ve WPF může k ho objektu DispatcherObject přistupovat pouze vlákno, které vytvořilo objekt. Například vlákno na pozadí, které je odsunutí z hlavního vlákna uživatelského rozhraní nemůže aktualizovat obsah objektu Button , který byl vytvořen ve vlákně uživatelského rozhraní. Aby vlákno na pozadí mohlo přistupovat k vlastnosti Content objektu Button, musí vlákno na pozadí delegovat práci na vlákno přidružené k Dispatcher vláknu uživatelského rozhraní. K tomu slouží buď Invoke , nebo BeginInvoke. Invoke je synchronní a BeginInvoke asynchronní. Operace se přidá do fronty Dispatcher událostí v zadaném DispatcherPriority.
Invoke je synchronní operace; proto se ovládací prvek nevrátí do volajícího objektu, dokud se zpětné volání nevrátí.
Platí pro
Invoke(Delegate, TimeSpan, DispatcherPriority, Object[])
Spustí zadaného delegáta v určeném časovém rozsahu se zadanou prioritou se zadanými argumenty synchronně ve vlákně Dispatcher , ke které je přidružen.
public:
System::Object ^ Invoke(Delegate ^ method, TimeSpan timeout, System::Windows::Threading::DispatcherPriority priority, ... cli::array <System::Object ^> ^ args);
public object Invoke (Delegate method, TimeSpan timeout, System.Windows.Threading.DispatcherPriority priority, params object[] args);
member this.Invoke : Delegate * TimeSpan * System.Windows.Threading.DispatcherPriority * obj[] -> obj
Public Function Invoke (method As Delegate, timeout As TimeSpan, priority As DispatcherPriority, ParamArray args As Object()) As Object
Parametry
- method
- Delegate
Delegát na metodu, která přijímá parametry zadané v args
souboru , který se odešle do Dispatcher fronty událostí.
- timeout
- TimeSpan
Maximální doba čekání na spuštění operace. Jakmile se operace spustí, dokončí se před vrácením této metody. Chcete-li určit nekonečné čekání, použijte hodnotu -1. Při volání stejného vlákna je jakákoli jiná záporná hodnota převedena na -1, což vede k nekonečnému čekání. Při volání napříč vlákny vyvolá jakákoli jiná záporná hodnota hodnotu ArgumentOutOfRangeException.
- priority
- DispatcherPriority
Priorita vzhledem k ostatním čekajícím operacím ve frontě Dispatcher událostí, se kterou je vyvolána zadaná metoda.
- args
- Object[]
Pole objektů, které se předávají jako argumenty dané metodě. Může být null
.
Návraty
Vrácená hodnota z delegáta, který je vyvolán, nebo null
pokud delegát nemá žádnou návratnou hodnotu.
Výjimky
method
je null
.
timeout
je záporné číslo jiné než -1 a tato metoda byla vyvolána napříč vlákny.
priority
se rovná hodnotě Inactive.
priority
není platná priorita.
Poznámky
Ve WPF může k ho objektu DispatcherObject přistupovat pouze vlákno, které vytvořilo objekt. Například vlákno na pozadí, které je odsunutí z hlavního vlákna uživatelského rozhraní nemůže aktualizovat obsah objektu Button , který byl vytvořen ve vlákně uživatelského rozhraní. Aby vlákno na pozadí mohlo přistupovat k vlastnosti Content objektu Button, musí vlákno na pozadí delegovat práci na vlákno přidružené k Dispatcher vláknu uživatelského rozhraní. K tomu slouží buď Invoke , nebo BeginInvoke. Invoke je synchronní a BeginInvoke asynchronní. Operace se přidá do fronty Dispatcher událostí v zadaném DispatcherPriority.
Invoke je synchronní operace; proto se ovládací prvek nevrátí do volajícího objektu, dokud se zpětné volání nevrátí.
Platí pro
Invoke(Delegate, TimeSpan, Object[])
Spustí zadaného delegáta v určeném časovém rozsahu se zadanou prioritou se zadanými argumenty synchronně ve vlákně Dispatcher , ke které je přidružen.
public:
System::Object ^ Invoke(Delegate ^ method, TimeSpan timeout, ... cli::array <System::Object ^> ^ args);
public object Invoke (Delegate method, TimeSpan timeout, params object[] args);
member this.Invoke : Delegate * TimeSpan * obj[] -> obj
Public Function Invoke (method As Delegate, timeout As TimeSpan, ParamArray args As Object()) As Object
Parametry
- method
- Delegate
Delegát na metodu, která přijímá parametry zadané v args
souboru , který se odešle do Dispatcher fronty událostí.
- timeout
- TimeSpan
Maximální doba čekání na spuštění operace. Jakmile se však operace spustí, dokončí se před vrácením této metody. Chcete-li určit nekonečné čekání, použijte hodnotu -1. Při volání stejného vlákna je jakákoli jiná záporná hodnota převedena na -1, což vede k nekonečnému čekání. Při volání napříč vlákny vyvolá jakákoli jiná záporná hodnota hodnotu ArgumentOutOfRangeException.
- args
- Object[]
Pole objektů, které se předávají jako argumenty dané metodě. Může být null
, pokud nejsou potřeba žádné argumenty.
Návraty
Vrácená hodnota z delegáta, který je vyvolán, nebo null
pokud delegát nemá žádnou návratnou hodnotu.
Výjimky
method
je null
.
timeout
je jiné záporné číslo než -1, které vyvoláváte napříč vlákny.
Poznámky
Ve WPF může k ho objektu DispatcherObject přistupovat pouze vlákno, které vytvořilo objekt. Například vlákno na pozadí, které je odsunutí z hlavního vlákna uživatelského rozhraní nemůže aktualizovat obsah objektu Button , který byl vytvořen ve vlákně uživatelského rozhraní. Aby vlákno na pozadí mohlo přistupovat k vlastnosti Content objektu Button, musí vlákno na pozadí delegovat práci na vlákno přidružené k Dispatcher vláknu uživatelského rozhraní. K tomu slouží buď Invoke , nebo BeginInvoke. Invoke je synchronní a BeginInvoke asynchronní. Operace se přidá do fronty Dispatcher událostí v zadaném DispatcherPriority.
Invoke je synchronní operace; Proto se ovládací prvek nevrátí do volajícího objektu, dokud se nevrátí zpětné volání.
Platí pro
Invoke(Action, DispatcherPriority, CancellationToken)
Provede zadaný Action synchronně se zadanou prioritou ve vlákně, ke které Dispatcher je přidružen.
public:
void Invoke(Action ^ callback, System::Windows::Threading::DispatcherPriority priority, System::Threading::CancellationToken cancellationToken);
public void Invoke (Action callback, System.Windows.Threading.DispatcherPriority priority, System.Threading.CancellationToken cancellationToken);
member this.Invoke : Action * System.Windows.Threading.DispatcherPriority * System.Threading.CancellationToken -> unit
Public Sub Invoke (callback As Action, priority As DispatcherPriority, cancellationToken As CancellationToken)
Parametry
- callback
- Action
Delegát pro vyvolání prostřednictvím dispečeru.
- priority
- DispatcherPriority
Priorita, která určuje pořadí, ve kterém je zadaná zpětná volání vyvolána vzhledem k ostatním čekajícím operacím v .Dispatcher
- cancellationToken
- CancellationToken
Objekt, který označuje, jestli se má akce zrušit.
Výjimky
Token zrušení byl zrušen. Tato výjimka se uloží do vrácené úlohy.
Platí pro
Invoke(DispatcherPriority, Delegate)
Spustí zadaného delegáta synchronně se zadanou prioritou ve vlákně, ke Dispatcher kterému je přidružen.
public:
System::Object ^ Invoke(System::Windows::Threading::DispatcherPriority priority, Delegate ^ method);
[System.ComponentModel.Browsable(false)]
public object Invoke (System.Windows.Threading.DispatcherPriority priority, Delegate method);
[<System.ComponentModel.Browsable(false)>]
member this.Invoke : System.Windows.Threading.DispatcherPriority * Delegate -> obj
Public Function Invoke (priority As DispatcherPriority, method As Delegate) As Object
Parametry
- priority
- DispatcherPriority
Priorita, se kterou je vyvolána zadaná metoda, vzhledem k ostatním čekajícím operacím ve frontě Dispatcher událostí.
- method
- Delegate
Delegát na metodu, která nepřijímá žádné argumenty, která je vložena do Dispatcher fronty událostí.
Návraty
Vrácená hodnota z delegáta, který je vyvolán, nebo null
pokud delegát nemá žádnou návratnou hodnotu.
- Atributy
Výjimky
priority
se rovná hodnotě Inactive.
priority
není platná priorita.
method
je null
.
Příklady
Následující příklad umístí delegáta na adresu Dispatcher pomocí NormalInvoke.
// Places the delegate onto the UI Thread's Dispatcher
private void timer_Elapsed(object sender, ElapsedEventArgs e)
{
// Place delegate on the Dispatcher.
this.Dispatcher.Invoke(DispatcherPriority.Normal,
new TimerDispatcherDelegate(TimerWorkItem));
}
' Places the delegate onto the UI Thread's Dispatcher
Private Sub timer_Elapsed(ByVal sender As Object, ByVal e As ElapsedEventArgs)
' Place delegate on the Dispatcher.
Me.Dispatcher.Invoke(DispatcherPriority.Normal, New TimerDispatcherDelegate(AddressOf TimerWorkItem))
End Sub
Poznámky
Ve WPF může k ho objektu DispatcherObject přistupovat pouze vlákno, které vytvořilo objekt. Například vlákno na pozadí, které je odsunutí z hlavního vlákna uživatelského rozhraní nemůže aktualizovat obsah objektu Button , který byl vytvořen ve vlákně uživatelského rozhraní. Aby vlákno na pozadí mohlo přistupovat k vlastnosti Content objektu Button, musí vlákno na pozadí delegovat práci na vlákno přidružené k Dispatcher vláknu uživatelského rozhraní. K tomu slouží buď Invoke , nebo BeginInvoke. Invoke je synchronní a BeginInvoke asynchronní. Operace se přidá do fronty Dispatcher událostí v zadaném DispatcherPriority.
Invoke je synchronní operace; proto se ovládací prvek nevrátí do volajícího objektu, dokud se zpětné volání nevrátí.
Platí pro
Invoke(Delegate, Object[])
Spustí zadaného delegáta se zadanými argumenty synchronně ve vlákně, ke které Dispatcher je přidružen.
public:
System::Object ^ Invoke(Delegate ^ method, ... cli::array <System::Object ^> ^ args);
public object Invoke (Delegate method, params object[] args);
member this.Invoke : Delegate * obj[] -> obj
Public Function Invoke (method As Delegate, ParamArray args As Object()) As Object
Parametry
- method
- Delegate
Delegát na metodu, která přijímá parametry zadané v args
souboru , který se odešle do Dispatcher fronty událostí.
- args
- Object[]
Pole objektů, které se předávají jako argumenty dané metodě. Může být null
.
Návraty
Vrácená hodnota z delegáta, který je vyvolán, nebo null
pokud delegát nemá žádnou návratnou hodnotu.
Poznámky
Ve WPF může k ho objektu DispatcherObject přistupovat pouze vlákno, které vytvořilo objekt. Například vlákno na pozadí, které je odsunutí z hlavního vlákna uživatelského rozhraní nemůže aktualizovat obsah objektu Button , který byl vytvořen ve vlákně uživatelského rozhraní. Aby vlákno na pozadí mohlo přistupovat k vlastnosti Content objektu Button, musí vlákno na pozadí delegovat práci na vlákno přidružené k Dispatcher vláknu uživatelského rozhraní. K tomu slouží buď Invoke , nebo BeginInvoke. Invoke je synchronní a BeginInvoke asynchronní. Operace se přidá do fronty Dispatcher událostí v zadaném DispatcherPriority.
Invoke je synchronní operace; proto se ovládací prvek nevrátí do volajícího objektu, dokud se zpětné volání nevrátí.
Platí pro
Invoke(Action, DispatcherPriority)
Provede zadaný Action synchronně se zadanou prioritou ve vlákně, ke které Dispatcher je přidružen.
public:
void Invoke(Action ^ callback, System::Windows::Threading::DispatcherPriority priority);
public void Invoke (Action callback, System.Windows.Threading.DispatcherPriority priority);
member this.Invoke : Action * System.Windows.Threading.DispatcherPriority -> unit
Public Sub Invoke (callback As Action, priority As DispatcherPriority)
Parametry
- callback
- Action
Delegát pro vyvolání prostřednictvím dispečeru.
- priority
- DispatcherPriority
Priorita, která určuje pořadí, ve kterém je zadaná zpětná volání vyvolána vzhledem k ostatním čekajícím operacím v .Dispatcher
Platí pro
Invoke(Action)
Provede zadaný Action synchronně na vlákně, ke které Dispatcher je přidružen.
public:
void Invoke(Action ^ callback);
public void Invoke (Action callback);
member this.Invoke : Action -> unit
Public Sub Invoke (callback As Action)
Parametry
- callback
- Action
Delegát pro vyvolání prostřednictvím dispečeru.
Poznámky
Výchozí priorita je DispatcherPriority.Send
.
Platí pro
Invoke(Delegate, DispatcherPriority, Object[])
Spustí zadaného delegáta se zadanou prioritou se zadanými argumenty synchronně na vlákně, ke které Dispatcher je přidružen.
public:
System::Object ^ Invoke(Delegate ^ method, System::Windows::Threading::DispatcherPriority priority, ... cli::array <System::Object ^> ^ args);
public object Invoke (Delegate method, System.Windows.Threading.DispatcherPriority priority, params object[] args);
member this.Invoke : Delegate * System.Windows.Threading.DispatcherPriority * obj[] -> obj
Public Function Invoke (method As Delegate, priority As DispatcherPriority, ParamArray args As Object()) As Object
Parametry
- method
- Delegate
Delegát na metodu, která přijímá parametry zadané v args
souboru , který se odešle do Dispatcher fronty událostí.
- priority
- DispatcherPriority
Priorita, se kterou je vyvolána zadaná metoda, vzhledem k ostatním čekajícím operacím ve frontě Dispatcher událostí.
- args
- Object[]
Pole objektů, které se předávají jako argumenty dané metodě. Může být null
.
Návraty
Vrácená hodnota z delegáta, který je vyvolán, nebo null
pokud delegát nemá žádnou návratnou hodnotu.
Poznámky
Ve WPF může k ho objektu DispatcherObject přistupovat pouze vlákno, které vytvořilo objekt. Například vlákno na pozadí, které je odsunutí z hlavního vlákna uživatelského rozhraní nemůže aktualizovat obsah objektu Button , který byl vytvořen ve vlákně uživatelského rozhraní. Aby vlákno na pozadí mohlo přistupovat k vlastnosti Content objektu Button, musí vlákno na pozadí delegovat práci na vlákno přidružené k Dispatcher vláknu uživatelského rozhraní. K tomu slouží buď Invoke , nebo BeginInvoke. Invoke je synchronní a BeginInvoke asynchronní. Operace se přidá do fronty Dispatcher událostí v zadaném DispatcherPriority.
Invoke je synchronní operace; proto se ovládací prvek nevrátí do volajícího objektu, dokud se zpětné volání nevrátí.
Platí pro
Invoke<TResult>(Func<TResult>)
Provede zadaný Func<TResult> synchronně na vlákně, ke které Dispatcher je přidružen.
public:
generic <typename TResult>
TResult Invoke(Func<TResult> ^ callback);
public TResult Invoke<TResult> (Func<TResult> callback);
member this.Invoke : Func<'Result> -> 'Result
Public Function Invoke(Of TResult) (callback As Func(Of TResult)) As TResult
Parametry typu
- TResult
Typ návratové hodnoty zadaného delegáta.
Parametry
- callback
- Func<TResult>
Delegát pro vyvolání prostřednictvím dispečeru.
Návraty
Hodnota vrácená parametrem callback
.
Platí pro
Invoke<TResult>(Func<TResult>, DispatcherPriority)
Provede zadaný Func<TResult> synchronně se zadanou prioritou ve vlákně, ke které Dispatcher je přidružen.
public:
generic <typename TResult>
TResult Invoke(Func<TResult> ^ callback, System::Windows::Threading::DispatcherPriority priority);
public TResult Invoke<TResult> (Func<TResult> callback, System.Windows.Threading.DispatcherPriority priority);
member this.Invoke : Func<'Result> * System.Windows.Threading.DispatcherPriority -> 'Result
Public Function Invoke(Of TResult) (callback As Func(Of TResult), priority As DispatcherPriority) As TResult
Parametry typu
- TResult
Typ návratové hodnoty zadaného delegáta.
Parametry
- callback
- Func<TResult>
Delegát pro vyvolání prostřednictvím dispečeru.
- priority
- DispatcherPriority
Priorita, která určuje pořadí, ve kterém je zadaná zpětná volání vyvolána vzhledem k ostatním čekajícím operacím v .Dispatcher
Návraty
Hodnota vrácená parametrem callback
.
Platí pro
Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken)
Provede zadaný Func<TResult> synchronně se zadanou prioritou ve vlákně, ke které Dispatcher je přidružen.
public:
generic <typename TResult>
TResult Invoke(Func<TResult> ^ callback, System::Windows::Threading::DispatcherPriority priority, System::Threading::CancellationToken cancellationToken);
public TResult Invoke<TResult> (Func<TResult> callback, System.Windows.Threading.DispatcherPriority priority, System.Threading.CancellationToken cancellationToken);
member this.Invoke : Func<'Result> * System.Windows.Threading.DispatcherPriority * System.Threading.CancellationToken -> 'Result
Public Function Invoke(Of TResult) (callback As Func(Of TResult), priority As DispatcherPriority, cancellationToken As CancellationToken) As TResult
Parametry typu
- TResult
Typ návratové hodnoty zadaného delegáta.
Parametry
- callback
- Func<TResult>
Delegát pro vyvolání prostřednictvím dispečeru.
- priority
- DispatcherPriority
Priorita, která určuje pořadí, ve kterém je zadaná zpětná volání vyvolána vzhledem k ostatním čekajícím operacím v .Dispatcher
- cancellationToken
- CancellationToken
Objekt, který označuje, zda má být operace zrušena.
Návraty
Hodnota vrácená parametrem callback
.
Výjimky
Token zrušení byl zrušen. Tato výjimka se uloží do vrácené úlohy.
Platí pro
Invoke<TResult>(Func<TResult>, DispatcherPriority, CancellationToken, TimeSpan)
Provede zadaný Func<TResult> synchronně se zadanou prioritou ve vlákně, ke které Dispatcher je přidružen.
public:
generic <typename TResult>
TResult Invoke(Func<TResult> ^ callback, System::Windows::Threading::DispatcherPriority priority, System::Threading::CancellationToken cancellationToken, TimeSpan timeout);
public TResult Invoke<TResult> (Func<TResult> callback, System.Windows.Threading.DispatcherPriority priority, System.Threading.CancellationToken cancellationToken, TimeSpan timeout);
member this.Invoke : Func<'Result> * System.Windows.Threading.DispatcherPriority * System.Threading.CancellationToken * TimeSpan -> 'Result
Public Function Invoke(Of TResult) (callback As Func(Of TResult), priority As DispatcherPriority, cancellationToken As CancellationToken, timeout As TimeSpan) As TResult
Parametry typu
- TResult
Typ návratové hodnoty zadaného delegáta.
Parametry
- callback
- Func<TResult>
Delegát pro vyvolání prostřednictvím dispečeru.
- priority
- DispatcherPriority
Priorita, která určuje pořadí, ve kterém je zadaná zpětná volání vyvolána vzhledem k ostatním čekajícím operacím v .Dispatcher
- cancellationToken
- CancellationToken
Objekt, který označuje, zda má být operace zrušena.
- timeout
- TimeSpan
Maximální doba čekání na spuštění operace. Jakmile se operace spustí, dokončí se před vrácením této metody. Chcete-li určit nekonečné čekání, použijte hodnotu -1. Při volání stejného vlákna je jakákoli jiná záporná hodnota převedena na -1, což vede k nekonečnému čekání. Při volání napříč vlákny vyvolá jakákoli jiná záporná hodnota hodnotu ArgumentOutOfRangeException.
Návraty
Hodnota vrácená parametrem callback
.
Výjimky
callback
je null
.
timeout
je záporné číslo jiné než -1 a metoda byla vyvolána napříč vlákny.
priority
není platná priorita.
Token zrušení byl zrušen. Tato výjimka se uloží do vrácené úlohy.