Dispatcher.BeginInvoke Yöntem

Tanım

İlişkili olduğu iş parçacığında zaman uyumsuz olarak bir temsilci yürütür Dispatcher .

Aşırı Yüklemeler

Name Description
BeginInvoke(Delegate, Object[])

Belirtilen temsilciyi, oluşturulduğu iş parçacığında Dispatcher belirtilen bağımsız değişkenlerle zaman uyumsuz olarak yürütür.

BeginInvoke(DispatcherPriority, Delegate)

Belirtilen temsilciyi ilişkili olduğu iş parçacığında Dispatcher belirtilen önceliğe göre zaman uyumsuz olarak yürütür.

BeginInvoke(Delegate, DispatcherPriority, Object[])

Belirtilen temsilciyi, oluşturulduğu iş parçacığında Dispatcher belirtilen bağımsız değişkenlerle, belirtilen önceliğe göre zaman uyumsuz olarak yürütür.

BeginInvoke(DispatcherPriority, Delegate, Object)

Belirtilen temsilciyi belirtilen önceliğe ve ilişkili iş parçacığında Dispatcher belirtilen bağımsız değişkenle zaman uyumsuz olarak yürütür.

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

Belirtilen temsilciyi belirtilen önceliğe ve ilişkili iş parçacığında Dispatcher belirtilen bağımsız değişken dizisiyle zaman uyumsuz olarak yürütür.

Açıklamalar

WPF'de, yalnızca bir DispatcherObject oluşturan iş parçacığı bu nesneye erişebilir. Örneğin, ana kullanıcı arabirimi iş parçacığından ayrılan bir arka plan iş parçacığı, ui iş parçacığında oluşturulan bir Button öğesinin içeriğini güncelleştiremez. Arka plan iş parçacığının öğesinin Content özelliğine erişebilmesi Buttoniçin, arka plan iş parçacığının ui iş parçacığıyla ilişkilendirilmiş iş parçacığına Dispatcher temsilci seçmesi gerekir. Bu, veya Invokekullanılarak BeginInvoke gerçekleştirilir. Invoke zaman uyumludur ve BeginInvoke zaman uyumsuzdur. İşlem, belirtilen DispatcherPrioritykonumunda öğesinin Dispatcher olay kuyruğuna eklenir.

BeginInvoke zaman uyumsuzdur; bu nedenle, denetim çağrıldıktan hemen sonra çağıran nesneye döner.

BeginInvoke , temsilci olay kuyruğundayken temsilciyle etkileşim kurmak için kullanılabilecek bir DispatcherOperation nesne döndürür.

DispatcherOperation tarafından BeginInvoke döndürülen nesnesi, belirtilen temsilciyle etkileşim kurmak için aşağıdakiler gibi çeşitli yollarla kullanılabilir:

  • Temsilcinin DispatcherPriority , olay kuyruğunda yürütülmeye devam eden şekilde değiştirilmesi.

  • Temsilci olay kuyruğundan kaldırılıyor.

  • Temsilcinin dönmesi bekleniyor.

  • Temsilcinin yürütüldükten sonra döndürdüğü değeri alma.

Aynı DispatcherPriorityanda birden çok BeginInvoke çağrı yapılırsa, bunlar çağrıların yapıldığı sırayla yürütülür.

Kapatılmış bir BeginInvoke üzerinde çağrılırsaDispatcher, döndürülen DispatcherOperation öğesinin durum özelliği olarak Abortedayarlanır.

BeginInvoke(Delegate, Object[])

Belirtilen temsilciyi, oluşturulduğu iş parçacığında Dispatcher belirtilen bağımsız değişkenlerle zaman uyumsuz olarak yürütür.

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

Parametreler

method
Delegate

içinde belirtilen argsve olay kuyruğuna gönderilen parametreleri alan bir yöntemin Dispatcher temsilcisi.

args
Object[]

Verilen yönteme bağımsız değişken olarak geçirecek bir nesne dizisi. olabilir null.

Döndürülenler

Çağrıldıktan hemen sonra BeginInvoke döndürülen ve olay kuyruğunda yürütmeyi beklerken temsilciyle etkileşim kurmak için kullanılabilecek bir nesne.

Açıklamalar

DispatcherOperation tarafından BeginInvoke döndürülen nesnesi, belirtilen temsilciyle etkileşim kurmak için aşağıdakiler gibi çeşitli yollarla kullanılabilir:

  • Temsilcinin DispatcherPriority , olay kuyruğunda yürütülmeye devam eden şekilde değiştirilmesi.

  • Temsilci olay kuyruğundan kaldırılıyor.

  • Temsilcinin dönmesi bekleniyor.

  • Temsilcinin yürütüldükten sonra döndürdüğü değeri alma.

BeginInvoke zaman uyumsuzdur; bu nedenle, denetim çağrıldıktan hemen sonra çağıran nesneye döner.

WPF'de, yalnızca bir DispatcherObject oluşturan iş parçacığı bu nesneye erişebilir. Örneğin, ana kullanıcı arabirimi iş parçacığından ayrılan bir arka plan iş parçacığı, ui iş parçacığında oluşturulan bir Button öğesinin içeriğini güncelleştiremez. Arka plan iş parçacığının öğesinin Content özelliğine erişebilmesi Buttoniçin, arka plan iş parçacığının ui iş parçacığıyla ilişkilendirilmiş iş parçacığına Dispatcher temsilci seçmesi gerekir. Bu, veya Invokekullanılarak BeginInvoke gerçekleştirilir. Invoke zaman uyumludur ve BeginInvoke zaman uyumsuzdur. İşlem, belirtilen DispatcherPrioritykonumunda öğesinin Dispatcher olay kuyruğuna eklenir.

Kapatılmış bir BeginInvoke üzerinde çağrılırsaDispatcher, döndürülen DispatcherOperation öğesinin durum özelliği olarak Abortedayarlanır.

Şunlara uygulanır

BeginInvoke(DispatcherPriority, Delegate)

Belirtilen temsilciyi ilişkili olduğu iş parçacığında Dispatcher belirtilen önceliğe göre zaman uyumsuz olarak yürütür.

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

Parametreler

priority
DispatcherPriority

Belirtilen yöntemin çağrıldığı olay kuyruğundaki Dispatcher diğer bekleyen işlemlere göre öncelik.

method
Delegate

Olay kuyruğuna gönderilen bağımsız değişken içermeyen bir yöntemin Dispatcher temsilcisi.

Döndürülenler

Çağrıldıktan hemen sonra BeginInvoke döndürülen ve olay kuyruğunda yürütmeyi beklerken temsilciyle etkileşim kurmak için kullanılabilecek bir nesne.

Öznitelikler

Özel durumlar

method, null'e eşittir.

priority geçerli bir DispatcherPrioritydeğil.

Örnekler

Aşağıdaki örnek, bir işlemi üzerine nasıl yerleştireceklerini Dispatchergösterir. Bu örneğin tam kaynak kodu için bkz. Long-Running Hesaplama Örneği ileSingle-Threaded Uygulama.

İlk olarak, bağımsız değişken kabul eden bir temsilci oluşturulur.

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

Ardından, BeginInvoke(DispatcherPriority, Delegate) çağrılır. Her DispatcherObject öğesinin Dispatcher ilişkili olduğu özelliği döndüren bir özelliği olduğundan, istenen Dispatcher , bu durumda adlandırılmış startStopButtonbir Button sorgulanarak DispatcherObjectelde edilir. çağrısı BeginInvoke(DispatcherPriority, Delegate) iki parametre alır: olarak ayarlanan DispatcherPriority.Normalöncelik ve temsilcinin NextPrimeDelegatebir örneği aracılığıyla geçirilen geri çağırma.

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

Açıklamalar

Aynı DispatcherPriorityanda birden çok BeginInvoke çağrı yapılırsa, bunlar çağrıların yapıldığı sırayla yürütülür.

BeginInvoke , temsilci olay kuyruğundayken temsilciyle etkileşim kurmak için kullanılabilecek bir DispatcherOperation nesne döndürür.

DispatcherOperation tarafından BeginInvoke döndürülen nesnesi, belirtilen temsilciyle etkileşim kurmak için aşağıdakiler gibi çeşitli yollarla kullanılabilir:

  • Temsilcinin DispatcherPriority , olay kuyruğunda yürütülmeye devam eden şekilde değiştirilmesi.

  • Temsilci olay kuyruğundan kaldırılıyor.

  • Temsilcinin dönmesi bekleniyor.

  • Temsilcinin yürütüldükten sonra döndürdüğü değeri alma.

BeginInvoke zaman uyumsuzdur; bu nedenle, denetim çağrıldıktan hemen sonra çağıran nesneye döner.

WPF'de, yalnızca bir DispatcherObject oluşturan iş parçacığı bu nesneye erişebilir. Örneğin, ana kullanıcı arabirimi iş parçacığından ayrılan bir arka plan iş parçacığı, ui iş parçacığında oluşturulan bir Button öğesinin içeriğini güncelleştiremez. Arka plan iş parçacığının öğesinin Content özelliğine erişebilmesi Buttoniçin, arka plan iş parçacığının ui iş parçacığıyla ilişkilendirilmiş iş parçacığına Dispatcher temsilci seçmesi gerekir. Bu, veya Invokekullanılarak BeginInvoke gerçekleştirilir. Invoke zaman uyumludur ve BeginInvoke zaman uyumsuzdur. İşlem, belirtilen DispatcherPrioritykonumunda öğesinin Dispatcher olay kuyruğuna eklenir.

Kapatılmış bir BeginInvoke üzerinde çağrılırsaDispatcher, döndürülen DispatcherOperation öğesinin durum özelliği olarak Abortedayarlanır.

Ayrıca bkz.

Şunlara uygulanır

BeginInvoke(Delegate, DispatcherPriority, Object[])

Belirtilen temsilciyi, oluşturulduğu iş parçacığında Dispatcher belirtilen bağımsız değişkenlerle, belirtilen önceliğe göre zaman uyumsuz olarak yürütür.

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

Parametreler

method
Delegate

içinde belirtilen argsve olay kuyruğuna gönderilen parametreleri alan bir yöntemin Dispatcher temsilcisi.

priority
DispatcherPriority

Belirtilen yöntemin çağrıldığı olay kuyruğundaki Dispatcher diğer bekleyen işlemlere göre öncelik.

args
Object[]

Verilen yönteme bağımsız değişken olarak geçirecek bir nesne dizisi. olabilir null.

Döndürülenler

Çağrıldıktan hemen sonra BeginInvoke döndürülen ve olay kuyruğunda yürütmeyi beklerken temsilciyle etkileşim kurmak için kullanılabilecek bir nesne.

Açıklamalar

DispatcherOperation tarafından BeginInvoke döndürülen nesnesi, belirtilen temsilciyle etkileşim kurmak için aşağıdakiler gibi çeşitli yollarla kullanılabilir:

  • Temsilcinin DispatcherPriority , olay kuyruğunda yürütülmeye devam eden şekilde değiştirilmesi.

  • Temsilci olay kuyruğundan kaldırılıyor.

  • Temsilcinin dönmesi bekleniyor.

  • Temsilcinin yürütüldükten sonra döndürdüğü değeri alma.

BeginInvoke zaman uyumsuzdur; bu nedenle, denetim çağrıldıktan hemen sonra çağıran nesneye döner.

WPF'de, yalnızca bir DispatcherObject oluşturan iş parçacığı bu nesneye erişebilir. Örneğin, ana kullanıcı arabirimi iş parçacığından ayrılan bir arka plan iş parçacığı, ui iş parçacığında oluşturulan bir Button öğesinin içeriğini güncelleştiremez. Arka plan iş parçacığının öğesinin Content özelliğine erişebilmesi Buttoniçin, arka plan iş parçacığının ui iş parçacığıyla ilişkilendirilmiş iş parçacığına Dispatcher temsilci seçmesi gerekir. Bu, veya Invokekullanılarak BeginInvoke gerçekleştirilir. Invoke zaman uyumludur ve BeginInvoke zaman uyumsuzdur. İşlem, belirtilen DispatcherPrioritykonumunda öğesinin Dispatcher olay kuyruğuna eklenir.

Kapatılmış bir BeginInvoke üzerinde çağrılırsaDispatcher, döndürülen DispatcherOperation öğesinin durum özelliği olarak Abortedayarlanır.

Şunlara uygulanır

BeginInvoke(DispatcherPriority, Delegate, Object)

Belirtilen temsilciyi belirtilen önceliğe ve ilişkili iş parçacığında Dispatcher belirtilen bağımsız değişkenle zaman uyumsuz olarak yürütür.

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

Parametreler

priority
DispatcherPriority

Belirtilen yöntemin çağrıldığı olay kuyruğundaki Dispatcher diğer bekleyen işlemlere göre öncelik.

method
Delegate

Olay kuyruğuna gönderilen tek bir bağımsız değişken alan bir yöntemin Dispatcher temsilcisi.

arg
Object

Belirtilen yönteme bağımsız değişken olarak geçirilebilir nesne.

Döndürülenler

Çağrıldıktan hemen sonra BeginInvoke döndürülen ve olay kuyruğunda yürütmeyi beklerken temsilciyle etkileşim kurmak için kullanılabilecek bir nesne.

Öznitelikler

Özel durumlar

method, null'e eşittir.

priority geçerli bir DispatcherPrioritydeğil.

Örnekler

Aşağıdaki örnek, bir işlemi üzerine nasıl yerleştireceklerini Dispatchergösterir.

İlk olarak, bir bağımsız değişken kabul eden bir temsilci oluşturulur, bu durumda bir dize.

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

Ardından, BeginInvoke(DispatcherPriority, Delegate, Object) çağrılır. Her DispatcherObject öğesinin Dispatcher ilişkili olduğu özelliği döndüren bir özelliği olduğundan, istenen Dispatcher , bu durumda adlandırılmış tomorrowsWeatherbir Grid sorgulanarak DispatcherObjectelde edilir. çağrısı BeginInvoke(DispatcherPriority, Delegate, Object) üç parametre alır: öncelik, olarak ayarlanır DispatcherPriority.Normal; temsilcinin OneArgDelegatebir örneği aracılığıyla geçirilen geri çağırma; ve geri çağırmanın bağımsız değişkeni olan adlı weatherbir dize.

// 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)

Açıklamalar

arg hiçbir bağımsız değişken gerekli değilse olabilir null .

BeginInvoke , temsilci olay kuyruğundayken temsilciyle etkileşim kurmak için kullanılabilecek bir DispatcherOperation nesne döndürür.

DispatcherOperation tarafından BeginInvoke döndürülen nesnesi, belirtilen temsilciyle etkileşim kurmak için aşağıdakiler gibi çeşitli yollarla kullanılabilir:

  • Temsilcinin DispatcherPriority , olay kuyruğunda yürütülmeye devam eden şekilde değiştirilmesi.

  • Temsilci olay kuyruğundan kaldırılıyor.

  • Temsilcinin dönmesi bekleniyor.

  • Temsilcinin yürütüldükten sonra döndürdüğü değeri alma.

BeginInvoke zaman uyumsuzdur; bu nedenle, denetim çağrıldıktan hemen sonra çağıran nesneye döner.

WPF'de, yalnızca bir DispatcherObject oluşturan iş parçacığı bu nesneye erişebilir. Örneğin, ana kullanıcı arabirimi iş parçacığından ayrılan bir arka plan iş parçacığı, ui iş parçacığında oluşturulan bir Button öğesinin içeriğini güncelleştiremez. Arka plan iş parçacığının öğesinin içerik özelliğine erişebilmesi Buttoniçin arka plan iş parçacığının ui iş parçacığıyla ilişkilendirilmiş iş parçacığına Dispatcher temsilci seçmesi gerekir. Bu, veya Invokekullanılarak BeginInvoke gerçekleştirilir. Invoke zaman uyumludur ve BeginInvoke zaman uyumsuzdur. İşlem, belirtilen DispatcherPrioritykonumunda öğesinin Dispatcher olay kuyruğuna eklenir.

Aynı DispatcherPriorityanda birden çok BeginInvoke çağrı yapılırsa, bunlar çağrıların yapıldığı sırayla yürütülür.

Kapatılmış bir BeginInvoke üzerinde çağrılırsaDispatcher, döndürülen DispatcherOperation öğesinin durum özelliği olarak Abortedayarlanır.

Ayrıca bkz.

Şunlara uygulanır

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

Belirtilen temsilciyi belirtilen önceliğe ve ilişkili iş parçacığında Dispatcher belirtilen bağımsız değişken dizisiyle zaman uyumsuz olarak yürütür.

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

Parametreler

priority
DispatcherPriority

Belirtilen yöntemin çağrıldığı olay kuyruğundaki Dispatcher diğer bekleyen işlemlere göre öncelik.

method
Delegate

Olay kuyruğuna gönderilen birden çok bağımsız değişken alan bir yöntemin Dispatcher temsilcisi.

arg
Object

Belirtilen yönteme bağımsız değişken olarak geçirilebilir nesne.

args
Object[]

Belirtilen yönteme bağımsız değişken olarak geçirilebilir bir nesne dizisi.

Döndürülenler

Çağrıldıktan hemen sonra BeginInvoke döndürülen ve kuyrukta Dispatcher yürütmeyi beklerken temsilciyle etkileşim kurmak için kullanılabilecek bir nesne.

Öznitelikler

Özel durumlar

method, null'e eşittir.

DispatcherPriority geçerli bir öncelik değildir.

Açıklamalar

arg Parametre, bağımsız değişken gerekmiyorsa olabilirnull.

BeginInvoke , temsilci olay kuyruğundayken temsilciyle etkileşim kurmak için kullanılabilecek bir DispatcherOperation nesne döndürür.

DispatcherOperation tarafından BeginInvoke döndürülen nesnesi, belirtilen temsilciyle etkileşim kurmak için aşağıdakiler gibi çeşitli yollarla kullanılabilir:

  • Temsilcinin DispatcherPriority , olay kuyruğunda yürütülmeye devam eden şekilde değiştirilmesi.

  • Temsilci olay kuyruğundan kaldırılıyor.

  • Temsilcinin dönmesi bekleniyor.

  • Temsilcinin yürütüldükten sonra döndürdüğü değeri alma.

BeginInvoke zaman uyumsuzdur; bu nedenle, denetim çağrıldıktan hemen sonra çağıran nesneye döner.

WPF'de, yalnızca bir DispatcherObject oluşturan iş parçacığı bu nesneye erişebilir. Örneğin, ana kullanıcı arabirimi iş parçacığından ayrılan bir arka plan iş parçacığı, ui iş parçacığında oluşturulan bir Button öğesinin içeriğini güncelleştiremez. Arka plan iş parçacığının öğesinin Content özelliğine erişebilmesi Buttoniçin, arka plan iş parçacığının ui iş parçacığıyla ilişkilendirilmiş iş parçacığına Dispatcher temsilci seçmesi gerekir. Bu, veya Invokekullanılarak BeginInvoke gerçekleştirilir. Invoke zaman uyumludur ve BeginInvoke zaman uyumsuzdur. İşlem, belirtilen DispatcherPrioritykonumunda öğesinin Dispatcher olay kuyruğuna eklenir.

Aynı DispatcherPriorityanda birden çok BeginInvoke çağrı yapılırsa, bunlar çağrıların yapıldığı sırayla yürütülür.

Kapatılmış bir BeginInvoke üzerinde çağrılırsaDispatcher, döndürülen DispatcherOperation öğesinin durum özelliği olarak Abortedayarlanır.

Ayrıca bkz.

Şunlara uygulanır