çağrıldığında nasıl dönüş değeri elde edilir Bu iş parçacığı güvenli olması gereken bir yöntem var. Her şey, boşluk yerine dönüş değeri olmasını istediğim kadar çalışır. BeginInvoke çağrıldığında dönüş değerini nasıl alabilirim?BeginInvoke/Invoke C#
public static string readControlText(Control varControl) {
if (varControl.InvokeRequired) {
varControl.BeginInvoke(new MethodInvoker(() => readControlText(varControl)));
} else {
string varText = varControl.Text;
return varText;
}
}
Düzenleme: haiz sanırım Beginınvoke iplik devam etmeden önce ben GUI değeri gerektiğinden bu durumda nessecary değildir. Yani Invoke kullanarak da iyidir. Değeri döndürmek için aşağıdaki örnekte nasıl kullanıldığına dair hiçbir ipucu yoktur.
private delegate string ControlTextRead(Control varControl);
public static string readControlText(Control varControl) {
if (varControl.InvokeRequired) {
varControl.Invoke(new ControlTextRead(readControlText), new object[] {varControl});
} else {
string varText = varControl.Text;
return varText;
}
}
Ama ya o kodu kullanarak değeri almak için nasıl emin;)
Bir çağrıda döndürülen değerle çalışmanız gerekirse, bunun nedeni "devam eden geçiş stili" desenine gereksiniminiz olması gerekir. Hangisi async, 'bekliyor 've' Görev' ile hafifletilebilir. –