Utilizando C# 2.0 y el delegado de MethodInvoker, tengo una aplicación de GUI que recibe algún evento del subproceso GUI o de un subproceso de trabajo.Utilizando C# MethodInvoker.Invoke() para una aplicación GUI ... es tan bueno?
uso el siguiente patrón para controlar el evento en la forma:
private void SomeEventHandler(object sender, EventArgs e)
{
MethodInvoker method = delegate
{
uiSomeTextBox.Text = "some text";
};
if (InvokeRequired)
BeginInvoke(method);
else
method.Invoke();
}
Mediante el uso de este patrón no duplicar el código de interfaz de usuario real, pero lo que no estoy seguro es si este método es bueno .
En particular, la línea
method.Invoke()
¿utiliza otro hilo para invocar o se traduce tanto a una llamada directa al método en el subproceso de interfaz gráfica de usuario?
Gracias! Me quedé atrapado en el método. Invoke e incluso Invoke ((MethodInvoker). Volver a BeginInvoke hizo el truco. –