Utilizzando C# 2.0 e il delegato MethodInvoker, ho un'applicazione GUI che riceve alcuni eventi dal thread della GUI o da un thread di lavoro.Utilizzo di C# MethodInvoker.Invoke() per un'applicazione GUI ... è buono?
Io uso il seguente schema per la gestione dell'evento nella forma:
private void SomeEventHandler(object sender, EventArgs e)
{
MethodInvoker method = delegate
{
uiSomeTextBox.Text = "some text";
};
if (InvokeRequired)
BeginInvoke(method);
else
method.Invoke();
}
Utilizzando questo schema non duplicare il codice di interfaccia utente reale, ma quello che io non sono sicuro è se questo metodo è buono .
In particolare, la linea
method.Invoke()
La usa un altro filo per invocare o esso tradurre alquanto ad una chiamata diretta al metodo sul thread GUI?
Grazie! Sono rimasto bloccato a usare method.Invoke e anche Invoke ((MethodInvoker). Tornando a BeginInvoke ha fatto il trucco –