Aracılığıyla paylaş


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

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 önceliğe göre belirtilen bağımsız değişkenlerle 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ığındaki 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ığı, kullanıcı arabirimi 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şkili iş parçacığına işi devretmesi Dispatcher gerekir. Bu, veya BeginInvokekullanılarak Invoke gerçekleştirilir. Invoke zaman uyumludur ve BeginInvoke zaman uyumsuzdur. İşlem belirtilen DispatcherPrioritykonumundaki olay kuyruğuna Dispatcher 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 nesne, belirtilen temsilciyle etkileşim kurmak için aşağıdakiler gibi çeşitli şekillerde kullanılabilir:

  • Temsilcinin DispatcherPriority olay kuyruğunda yürütmeyi bekliyor olarak değiştirme.

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

  • Temsilcinin geri 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 Dispatcher üzerinde çağrılırsaBeginInvoke, 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 argsparametreleri alan ve olay kuyruğuna gönderilen 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

DispatcherOperation

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

Açıklamalar

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

  • Temsilcinin DispatcherPriority olay kuyruğunda yürütmeyi bekliyor olarak değiştirme.

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

  • Temsilcinin geri 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ığı, kullanıcı arabirimi 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şkili iş parçacığına işi devretmesi Dispatcher gerekir. Bu, veya BeginInvokekullanılarak Invoke gerçekleştirilir. Invoke zaman uyumludur ve BeginInvoke zaman uyumsuzdur. İşlem belirtilen DispatcherPrioritykonumundaki olay kuyruğuna Dispatcher eklenir.

Kapatılmış bir Dispatcher üzerinde çağrılırsaBeginInvoke, 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

DispatcherOperation

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

Öznitelikler

Özel durumlar

method, null değeridir.

priority geçerli DispatcherPrioritybir değ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 ile Tek İş Parçacıklı 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 öğesini 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 nesne, belirtilen temsilciyle etkileşim kurmak için aşağıdakiler gibi çeşitli şekillerde kullanılabilir:

  • Temsilcinin DispatcherPriority olay kuyruğunda yürütmeyi bekliyor olarak değiştirme.

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

  • Temsilcinin geri 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ığı, kullanıcı arabirimi 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şkili iş parçacığına işi devretmesi Dispatcher gerekir. Bu, veya BeginInvokekullanılarak Invoke gerçekleştirilir. Invoke zaman uyumludur ve BeginInvoke zaman uyumsuzdur. İşlem belirtilen DispatcherPrioritykonumundaki olay kuyruğuna Dispatcher eklenir.

Kapatılmış bir Dispatcher üzerinde çağrılırsaBeginInvoke, 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 önceliğe göre belirtilen bağımsız değişkenlerle 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 argsparametreleri alan ve olay kuyruğuna gönderilen 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

DispatcherOperation

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

Açıklamalar

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

  • Temsilcinin DispatcherPriority olay kuyruğunda yürütmeyi bekliyor olarak değiştirme.

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

  • Temsilcinin geri 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ığı, kullanıcı arabirimi 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ş çalışma için Dispatcher temsilci seçmesi gerekir. Bu, veya BeginInvokekullanılarak Invoke gerçekleştirilir. Invoke zaman uyumlu ve BeginInvoke zaman uyumsuzdur. İşlem belirtilen DispatcherPrioritykonumundaki olay kuyruğuna Dispatcher eklenir.

Kapatılmış bir Dispatcher üzerinde çağrılırsaBeginInvoke, 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şkeni alan yöntemin Dispatcher temsilcisi.

arg
Object

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

Döndürülenler

DispatcherOperation

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

Öznitelikler

Özel durumlar

method, null değeridir.

Ö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) adı verilir. Her DispatcherObject öğesinin Dispatcher ilişkili olduğu öğesini döndüren bir özelliği olduğundan, istenenDispatcher, adlı bir tomorrowsWeatherGrid sorguyla DispatcherObjectelde edilir. çağrısı BeginInvoke(DispatcherPriority, Delegate, Object) üç parametre alır: olarak ayarlanmış DispatcherPriority.Normalöncelik; 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 bağımsız değişken gerekmiyorsa 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 şekillerde kullanılabilir:

  • DispatcherPriority Temsilcinin olay kuyruğunda yürütülmesini bekliyor olarak değiştirme.

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

  • Temsilcinin geri 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 ui iş parçacığından ayrılan bir arka plan iş parçacığı, kullanıcı arabirimi 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ş çalışma için Dispatcher temsilci seçmesi gerekir. Bu, veya BeginInvokekullanılarak Invoke gerçekleştirilir. Invoke zaman uyumlu ve BeginInvoke zaman uyumsuzdur. İşlem belirtilen DispatcherPrioritykonumundaki olay kuyruğuna Dispatcher 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 Dispatcher üzerinde çağrılırsaBeginInvoke, 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ığındaki 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

DispatcherOperation

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

Öznitelikler

Özel durumlar

method, null değeridir.

DispatcherPriority geçerli bir öncelik değildir.

Açıklamalar

arg Parametre, bağımsız değişken gerekmemesi durumunda 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 şekillerde kullanılabilir:

  • DispatcherPriority Temsilcinin olay kuyruğunda yürütülmesini bekliyor olarak değiştirme.

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

  • Temsilcinin geri 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 ui iş parçacığından ayrılan bir arka plan iş parçacığı, kullanıcı arabirimi 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ş çalışma için Dispatcher temsilci seçmesi gerekir. Bu, veya BeginInvokekullanılarak Invoke gerçekleştirilir. Invoke zaman uyumlu ve BeginInvoke zaman uyumsuzdur. İşlem belirtilen DispatcherPrioritykonumundaki olay kuyruğuna Dispatcher 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 Dispatcher üzerinde çağrılırsaBeginInvoke, döndürülen DispatcherOperation öğesinin durum özelliği olarak Abortedayarlanır.

Ayrıca bkz.

Şunlara uygulanır