C#2.0とMethodInvokerデリゲートを使用して、GUIスレッドまたはワーカースレッドからイベントを受信するGUIアプリケーションがあります。
次のパターンを使用して、フォームでイベントを処理します。
private void SomeEventHandler(object sender, EventArgs e)
{
MethodInvoker method = delegate
{
uiSomeTextBox.Text = "some text";
};
if (InvokeRequired)
BeginInvoke(method);
else
method.Invoke();
}
このパターンを使用することで、実際のUIコードを複製しませんが、この方法が適切かどうかはわかりません。
特に、ライン
method.Invoke()
呼び出すために別のスレッドを使用しますか、それともGUIスレッドのメソッドへの直接呼び出しにいくらか変換されますか?