Dispatcher.BeginInvoke Metódus

Definíció

A delegáltat aszinkron módon hajtja végre azon a szálon Dispatcher , amelyhez társítva van.

Túlterhelések

Name Description
BeginInvoke(Delegate, Object[])

A megadott meghatalmazottat aszinkron módon hajtja végre a megadott argumentumokkal azon a szálon, amelyen a Dispatcher létrehozott.

BeginInvoke(DispatcherPriority, Delegate)

A megadott meghatalmazottat aszinkron módon hajtja végre a társított szál Dispatcher megadott prioritásán.

BeginInvoke(Delegate, DispatcherPriority, Object[])

A megadott delegáltat aszinkron módon hajtja végre a megadott argumentumokkal, a megadott prioritáson, azon a szálon, amelyen a Dispatcher létrehozott.

BeginInvoke(DispatcherPriority, Delegate, Object)

A megadott meghatalmazottat aszinkron módon hajtja végre a megadott prioritáson, és a megadott argumentummal azon a szálon Dispatcher , amelyhez társítva van.

BeginInvoke(DispatcherPriority, Delegate, Object, Object[])

A megadott delegáltat aszinkron módon hajtja végre a megadott prioritáson, és a megadott argumentumtömböt azon a szálon Dispatcher , amelyhez társítva van.

Megjegyzések

A WPF csak a DispatcherObject létrehozó szál férhet hozzá az objektumhoz. A fő felhasználói felületi szálról kipördült háttérszál például nem tudja frissíteni a felhasználói felületen létrehozott szál tartalmát Button . Ahhoz, hogy a háttérszál hozzáférjen a tartalomtulajdonsághoz Button, a háttérszálnak delegálnia kell a munkát a Dispatcher felhasználói felületi szálhoz társítottaknak. Ezt a rendszer a következővel hajtja végre: vagy InvokeBeginInvoke. Invoke szinkron és BeginInvoke aszinkron. A művelet hozzá lesz adva a megadott DispatchereseménysorhozDispatcherPriority.

BeginInvoke aszinkron; ezért a vezérlő a hívás után azonnal visszatér a hívó objektumhoz.

BeginInvoke Egy DispatcherOperation objektumot ad vissza, amely használható a meghatalmazottal való interakcióra, ha a meghatalmazott az eseménysoron van.

A DispatcherOperation visszaadott BeginInvoke objektum többféleképpen használható a megadott meghatalmazottal való interakcióhoz, például:

  • Módosítsa a DispatcherPriority meghatalmazottat, mert folyamatban van a végrehajtás az eseménysoron.

  • A meghatalmazott eltávolítása az eseménysorból.

  • Várakozás a meghatalmazott visszatérésére.

  • A meghatalmazott által a végrehajtás után visszaadott érték beolvasása.

Ha egyszerre több BeginInvoke hívás is történik DispatcherPriority, a rendszer a hívások sorrendjében hajtja végre őket.

Ha BeginInvoke leállított állapotúra Dispatcher van meghívva, a visszaadott DispatcherOperation állapottulajdonság értéke a következő.Aborted

BeginInvoke(Delegate, Object[])

A megadott meghatalmazottat aszinkron módon hajtja végre a megadott argumentumokkal azon a szálon, amelyen a Dispatcher létrehozott.

public:
 System::Windows::Threading::DispatcherOperation ^ BeginInvoke(Delegate ^ method, ... cli::array <System::Object ^> ^ args);
public System.Windows.Threading.DispatcherOperation BeginInvoke(Delegate method, params object[] args);
member this.BeginInvoke : Delegate * obj[] -> System.Windows.Threading.DispatcherOperation
Public Function BeginInvoke (method As Delegate, ParamArray args As Object()) As DispatcherOperation

Paraméterek

method
Delegate

A delegált egy metódushoz, amely a megadott paramétereket veszi fel args, amelyet a rendszer leküld az Dispatcher eseménysorba.

args
Object[]

Egy objektumtömb, amelyet argumentumként ad át az adott metódusnak. Lehet null.

Válaszok

A meghívás után BeginInvoke azonnal visszaadott objektum, amely a meghatalmazottal való interakcióra használható, mivel az eseménysoron folyamatban van a végrehajtás.

Megjegyzések

A DispatcherOperation visszaadott BeginInvoke objektum többféleképpen használható a megadott meghatalmazottal való interakcióhoz, például:

  • Módosítsa a DispatcherPriority meghatalmazottat, mert folyamatban van a végrehajtás az eseménysoron.

  • A meghatalmazott eltávolítása az eseménysorból.

  • Várakozás a meghatalmazott visszatérésére.

  • A meghatalmazott által a végrehajtás után visszaadott érték beolvasása.

BeginInvoke aszinkron; ezért a vezérlő a hívás után azonnal visszatér a hívó objektumhoz.

A WPF csak a DispatcherObject létrehozó szál férhet hozzá az objektumhoz. A fő felhasználói felületi szálról kipördült háttérszál például nem tudja frissíteni a felhasználói felületen létrehozott szál tartalmát Button . Ahhoz, hogy a háttérszál hozzáférjen a tartalomtulajdonsághoz Button, a háttérszálnak delegálnia kell a munkát a Dispatcher felhasználói felületi szálhoz társítottaknak. Ezt a rendszer a következővel hajtja végre: vagy InvokeBeginInvoke. Invoke szinkron és BeginInvoke aszinkron. A művelet hozzá lesz adva a megadott DispatchereseménysorhozDispatcherPriority.

Ha BeginInvoke leállított állapotúra Dispatcher van meghívva, a visszaadott DispatcherOperation állapottulajdonság értéke a következő.Aborted

A következőre érvényes:

BeginInvoke(DispatcherPriority, Delegate)

A megadott meghatalmazottat aszinkron módon hajtja végre a társított szál Dispatcher megadott prioritásán.

public:
 System::Windows::Threading::DispatcherOperation ^ BeginInvoke(System::Windows::Threading::DispatcherPriority priority, Delegate ^ method);
[System.ComponentModel.Browsable(false)]
public System.Windows.Threading.DispatcherOperation BeginInvoke(System.Windows.Threading.DispatcherPriority priority, Delegate method);
[<System.ComponentModel.Browsable(false)>]
member this.BeginInvoke : System.Windows.Threading.DispatcherPriority * Delegate -> System.Windows.Threading.DispatcherOperation
Public Function BeginInvoke (priority As DispatcherPriority, method As Delegate) As DispatcherOperation

Paraméterek

priority
DispatcherPriority

A prioritás az eseménysor többi függőben Dispatcher lévő műveletéhez képest, amellyel a megadott metódus meghívása történik.

method
Delegate

Az argumentumokat nem tartalmazó metódus delegálása, amelyet a rendszer az Dispatcher eseménysorba küld.

Válaszok

A meghívás után BeginInvoke azonnal visszaadott objektum, amely a meghatalmazottal való interakcióra használható, mivel az eseménysoron folyamatban van a végrehajtás.

Attribútumok

Kivételek

method az null.

Példák

Az alábbi példa bemutatja, hogyan helyezhet el egy műveletet egy Dispatcher. A példa teljes forráskódját lásdSingle-Threaded alkalmazás Long-Running számítási mintával.

Először létrejön egy meghatalmazott, amely nem fogad el argumentumokat.

public delegate void NextPrimeDelegate();
Public Delegate Sub NextPrimeDelegate()

A következőt BeginInvoke(DispatcherPriority, Delegate) meghívjuk. Mivel mindegyiknek DispatcherObject van egy tulajdonsága, amely visszaadja a Dispatcher társított tulajdonságot, a kívánt Dispatcher értéket a rendszer a DispatcherObjectlekérdezéssel nyeri ki, ebben az esetben egy Button névvel.startStopButton A hívás két paramétert BeginInvoke(DispatcherPriority, Delegate) vesz igénybe: a megadott DispatcherPriority.Normalprioritást és a visszahívást, amelyet a meghatalmazott egy példányán keresztül ad NextPrimeDelegateát.

startStopButton.Dispatcher.BeginInvoke(
    DispatcherPriority.Normal,
    new NextPrimeDelegate(CheckNextNumber));
startStopButton.Dispatcher.BeginInvoke(DispatcherPriority.Normal, New NextPrimeDelegate(AddressOf CheckNextNumber))

Megjegyzések

Ha egyszerre több BeginInvoke hívás is történik DispatcherPriority, a rendszer a hívások sorrendjében hajtja végre őket.

BeginInvoke Egy DispatcherOperation objektumot ad vissza, amely használható a meghatalmazottal való interakcióra, ha a meghatalmazott az eseménysoron van.

A DispatcherOperation visszaadott BeginInvoke objektum többféleképpen használható a megadott meghatalmazottal való interakcióhoz, például:

  • Módosítsa a DispatcherPriority meghatalmazottat, mert folyamatban van a végrehajtás az eseménysoron.

  • A meghatalmazott eltávolítása az eseménysorból.

  • Várakozás a meghatalmazott visszatérésére.

  • A meghatalmazott által a végrehajtás után visszaadott érték beolvasása.

BeginInvoke aszinkron; ezért a vezérlő a hívás után azonnal visszatér a hívó objektumhoz.

A WPF csak a DispatcherObject létrehozó szál férhet hozzá az objektumhoz. A fő felhasználói felületi szálról kipördült háttérszál például nem tudja frissíteni a felhasználói felületen létrehozott szál tartalmát Button . Ahhoz, hogy a háttérszál hozzáférjen a tartalomtulajdonsághoz Button, a háttérszálnak delegálnia kell a munkát a Dispatcher felhasználói felületi szálhoz társítottaknak. Ezt a rendszer a következővel hajtja végre: vagy InvokeBeginInvoke. Invoke szinkron és BeginInvoke aszinkron. A művelet hozzá lesz adva a megadott DispatchereseménysorhozDispatcherPriority.

Ha BeginInvoke leállított állapotúra Dispatcher van meghívva, a visszaadott DispatcherOperation állapottulajdonság értéke a következő.Aborted

Lásd még

A következőre érvényes:

BeginInvoke(Delegate, DispatcherPriority, Object[])

A megadott delegáltat aszinkron módon hajtja végre a megadott argumentumokkal, a megadott prioritáson, azon a szálon, amelyen a Dispatcher létrehozott.

public:
 System::Windows::Threading::DispatcherOperation ^ BeginInvoke(Delegate ^ method, System::Windows::Threading::DispatcherPriority priority, ... cli::array <System::Object ^> ^ args);
public System.Windows.Threading.DispatcherOperation BeginInvoke(Delegate method, System.Windows.Threading.DispatcherPriority priority, params object[] args);
member this.BeginInvoke : Delegate * System.Windows.Threading.DispatcherPriority * obj[] -> System.Windows.Threading.DispatcherOperation
Public Function BeginInvoke (method As Delegate, priority As DispatcherPriority, ParamArray args As Object()) As DispatcherOperation

Paraméterek

method
Delegate

A delegált egy metódushoz, amely a megadott paramétereket veszi fel args, amelyet a rendszer leküld az Dispatcher eseménysorba.

priority
DispatcherPriority

A prioritás az eseménysor többi függőben Dispatcher lévő műveletéhez képest, amellyel a megadott metódus meghívása történik.

args
Object[]

Egy objektumtömb, amelyet argumentumként ad át az adott metódusnak. Lehet null.

Válaszok

A meghívás után BeginInvoke azonnal visszaadott objektum, amely a meghatalmazottal való interakcióra használható, mivel az eseménysoron folyamatban van a végrehajtás.

Megjegyzések

A DispatcherOperation visszaadott BeginInvoke objektum többféleképpen használható a megadott meghatalmazottal való interakcióhoz, például:

  • Módosítsa a DispatcherPriority meghatalmazottat, mert folyamatban van a végrehajtás az eseménysoron.

  • A meghatalmazott eltávolítása az eseménysorból.

  • Várakozás a meghatalmazott visszatérésére.

  • A meghatalmazott által a végrehajtás után visszaadott érték beolvasása.

BeginInvoke aszinkron; ezért a vezérlő a hívás után azonnal visszatér a hívó objektumhoz.

A WPF csak a DispatcherObject létrehozó szál férhet hozzá az objektumhoz. A fő felhasználói felületi szálról kipördült háttérszál például nem tudja frissíteni a felhasználói felületen létrehozott szál tartalmát Button . Ahhoz, hogy a háttérszál hozzáférjen a tartalomtulajdonsághoz Button, a háttérszálnak delegálnia kell a munkát a Dispatcher felhasználói felületi szálhoz társítottaknak. Ezt a rendszer a következővel hajtja végre: vagy InvokeBeginInvoke. Invoke szinkron és BeginInvoke aszinkron. A művelet hozzá lesz adva a megadott DispatchereseménysorhozDispatcherPriority.

Ha BeginInvoke leállított állapotúra Dispatcher van meghívva, a visszaadott DispatcherOperation állapottulajdonság értéke a következő.Aborted

A következőre érvényes:

BeginInvoke(DispatcherPriority, Delegate, Object)

A megadott meghatalmazottat aszinkron módon hajtja végre a megadott prioritáson, és a megadott argumentummal azon a szálon Dispatcher , amelyhez társítva van.

public:
 System::Windows::Threading::DispatcherOperation ^ BeginInvoke(System::Windows::Threading::DispatcherPriority priority, Delegate ^ method, System::Object ^ arg);
[System.ComponentModel.Browsable(false)]
public System.Windows.Threading.DispatcherOperation BeginInvoke(System.Windows.Threading.DispatcherPriority priority, Delegate method, object arg);
[<System.ComponentModel.Browsable(false)>]
member this.BeginInvoke : System.Windows.Threading.DispatcherPriority * Delegate * obj -> System.Windows.Threading.DispatcherOperation
Public Function BeginInvoke (priority As DispatcherPriority, method As Delegate, arg As Object) As DispatcherOperation

Paraméterek

priority
DispatcherPriority

A prioritás az eseménysor többi függőben Dispatcher lévő műveletéhez képest, amellyel a megadott metódus meghívása történik.

method
Delegate

Egy olyan metódus meghatalmazottja, amely egy argumentumot vesz igénybe, amelyet a rendszer leküld az Dispatcher eseménysorba.

arg
Object

Az az objektum, amely argumentumként továbbítandó a megadott metódusnak.

Válaszok

A meghívás után BeginInvoke azonnal visszaadott objektum, amely a meghatalmazottal való interakcióra használható, mivel az eseménysoron folyamatban van a végrehajtás.

Attribútumok

Kivételek

method az null.

Példák

Az alábbi példa bemutatja, hogyan helyezhet el egy műveletet egy Dispatcher.

Először létrejön egy meghatalmazott, amely egy argumentumot fogad el, ebben az esetben egy sztringet.

private delegate void OneArgDelegate(String arg);
Private Delegate Sub OneArgDelegate(ByVal arg As String)

A következőt BeginInvoke(DispatcherPriority, Delegate, Object) meghívjuk. Mivel mindegyiknek DispatcherObject van egy tulajdonsága, amely visszaadja a Dispatcher társított tulajdonságot, a kívánt Dispatcher értéket a rendszer a DispatcherObjectlekérdezéssel nyeri ki, ebben az esetben egy Grid névvel.tomorrowsWeather A hívás BeginInvoke(DispatcherPriority, Delegate, Object) három paramétert vesz fel: a prioritást, amely a következőre DispatcherPriority.Normalvan állítva: a visszahívás, amelyet a meghatalmazott egy példányán keresztül ad OneArgDelegateát; és egy sztring, weatheramely a visszahívás argumentuma.

// Schedule the update function in the UI thread.
tomorrowsWeather.Dispatcher.BeginInvoke(
    System.Windows.Threading.DispatcherPriority.Normal,
    new OneArgDelegate(UpdateUserInterface), 
    weather);
' Schedule the update function in the UI thread.
tomorrowsWeather.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, New OneArgDelegate(AddressOf UpdateUserInterface), weather)

Megjegyzések

arg akkor lehet null , ha nincs szükség argumentumokra.

BeginInvoke Egy DispatcherOperation objektumot ad vissza, amely használható a meghatalmazottal való interakcióra, ha a meghatalmazott az eseménysoron van.

A DispatcherOperation visszaadott BeginInvoke objektum többféleképpen használható a megadott meghatalmazottal való interakcióhoz, például:

  • Módosítsa a DispatcherPriority meghatalmazottat, mert folyamatban van a végrehajtás az eseménysoron.

  • A meghatalmazott eltávolítása az eseménysorból.

  • Várakozás a meghatalmazott visszatérésére.

  • A meghatalmazott által a végrehajtás után visszaadott érték beolvasása.

BeginInvoke aszinkron; ezért a vezérlő a hívás után azonnal visszatér a hívó objektumhoz.

A WPF csak a DispatcherObject létrehozó szál férhet hozzá az objektumhoz. A fő felhasználói felületi szálról kipördült háttérszál például nem tudja frissíteni a felhasználói felületen létrehozott szál tartalmát Button . Ahhoz, hogy a háttérszál hozzáférhessen a Buttontartalomtulajdonsághoz, a háttérszálnak delegálnia kell a munkát a Dispatcher felhasználói felületi szálhoz társítottaknak. Ezt a rendszer a következővel hajtja végre: vagy InvokeBeginInvoke. Invoke szinkron és BeginInvoke aszinkron. A művelet hozzá lesz adva a megadott DispatchereseménysorhozDispatcherPriority.

Ha egyszerre több BeginInvoke hívás is történik DispatcherPriority, a rendszer a hívások sorrendjében hajtja végre őket.

Ha BeginInvoke leállított állapotúra Dispatcher van meghívva, a visszaadott DispatcherOperation állapottulajdonság értéke a következő.Aborted

Lásd még

A következőre érvényes:

BeginInvoke(DispatcherPriority, Delegate, Object, Object[])

A megadott delegáltat aszinkron módon hajtja végre a megadott prioritáson, és a megadott argumentumtömböt azon a szálon Dispatcher , amelyhez társítva van.

public:
 System::Windows::Threading::DispatcherOperation ^ BeginInvoke(System::Windows::Threading::DispatcherPriority priority, Delegate ^ method, System::Object ^ arg, ... cli::array <System::Object ^> ^ args);
[System.ComponentModel.Browsable(false)]
public System.Windows.Threading.DispatcherOperation BeginInvoke(System.Windows.Threading.DispatcherPriority priority, Delegate method, object arg, params object[] args);
[<System.ComponentModel.Browsable(false)>]
member this.BeginInvoke : System.Windows.Threading.DispatcherPriority * Delegate * obj * obj[] -> System.Windows.Threading.DispatcherOperation
Public Function BeginInvoke (priority As DispatcherPriority, method As Delegate, arg As Object, ParamArray args As Object()) As DispatcherOperation

Paraméterek

priority
DispatcherPriority

A prioritás az eseménysor többi függőben Dispatcher lévő műveletéhez képest, amellyel a megadott metódus meghívása történik.

method
Delegate

Több argumentumot tartalmazó metódus delegáltja, amelyet a rendszer leküld az Dispatcher eseménysorba.

arg
Object

Az az objektum, amely argumentumként továbbítandó a megadott metódusnak.

args
Object[]

A megadott metódusnak argumentumként átadni kívánt objektumok tömbje.

Válaszok

A meghívás után BeginInvoke azonnal visszaadott objektum, amely a delegáltal való interakcióra használható, mivel folyamatban van a végrehajtás az Dispatcher üzenetsorban.

Attribútumok

Kivételek

method az null.

Megjegyzések

A arg paraméter akkor lehet null , ha nincs szükség argumentumokra.

BeginInvoke Egy DispatcherOperation objektumot ad vissza, amely használható a meghatalmazottal való interakcióra, ha a meghatalmazott az eseménysoron van.

A DispatcherOperation visszaadott BeginInvoke objektum többféleképpen használható a megadott meghatalmazottal való interakcióhoz, például:

  • Módosítsa a DispatcherPriority meghatalmazottat, mert folyamatban van a végrehajtás az eseménysoron.

  • A meghatalmazott eltávolítása az eseménysorból.

  • Várakozás a meghatalmazott visszatérésére.

  • A meghatalmazott által a végrehajtás után visszaadott érték beolvasása.

BeginInvoke aszinkron; ezért a vezérlő a hívás után azonnal visszatér a hívó objektumhoz.

A WPF csak a DispatcherObject létrehozó szál férhet hozzá az objektumhoz. A fő felhasználói felületi szálról kipördült háttérszál például nem tudja frissíteni a felhasználói felületen létrehozott szál tartalmát Button . Ahhoz, hogy a háttérszál hozzáférjen a tartalomtulajdonsághoz Button, a háttérszálnak delegálnia kell a munkát a Dispatcher felhasználói felületi szálhoz társítottaknak. Ezt a rendszer a következővel hajtja végre: vagy InvokeBeginInvoke. Invoke szinkron és BeginInvoke aszinkron. A művelet hozzá lesz adva a megadott DispatchereseménysorhozDispatcherPriority.

Ha egyszerre több BeginInvoke hívás is történik DispatcherPriority, a rendszer a hívások sorrendjében hajtja végre őket.

Ha BeginInvoke leállított állapotúra Dispatcher van meghívva, a visszaadott DispatcherOperation állapottulajdonság értéke a következő.Aborted

Lásd még

A következőre érvényes: