Mit C# 2.0 und dem MethodInvoker-Delegaten habe ich eine GUI-Anwendung, die ein Ereignis vom GUI-Thread oder von einem Worker-Thread erhält.Mit C# MethodInvoker.Invoke() für eine GUI-App ... ist das gut?
Ich benutze das folgende Muster für das Ereignis in der Form der Handhabung:
private void SomeEventHandler(object sender, EventArgs e)
{
MethodInvoker method = delegate
{
uiSomeTextBox.Text = "some text";
};
if (InvokeRequired)
BeginInvoke(method);
else
method.Invoke();
}
dieses Musters unter Verwendung Ich habe nicht den tatsächlichen UI-Code kopieren, aber was ich bin mir nicht sicher ist, ob diese Methode gut ist .
Insbesondere die Linie
method.Invoke()
es einen weiteren Thread nicht verwendet zum Aufrufen oder etwas nach Methode auf dem GUI-Thread auf einen direkten Aufruf nicht übersetzen?
Dank! Ich war fest auf mit Methode.Invoke und sogar Invoke ((MethodInvoker). Gehen Sie zurück zu BeginInvoke hat den Trick. –