C#のMethodInvokerデリゲートの使い方は?
MethodInvokerデリゲートは、パラメーターも戻り値もないデリゲートであり、メソッドをカプセル化し、そのメソッドを呼び出すためにデリゲートを使用することができます。
MethodInvoker委任の使用例は次の通りです:
using System;
using System.Windows.Forms;
public class Program
{
public static void Main()
{
// 创建一个Form实例
Form form = new Form();
// 创建一个Button实例
Button button = new Button();
button.Text = "Click me";
button.Click += new EventHandler(button_Click);
// 将Button添加到Form中
form.Controls.Add(button);
// 使用MethodInvoker委托来封装一个方法,并通过委托来调用该方法
MethodInvoker methodInvoker = new MethodInvoker(ShowMessage);
methodInvoker.Invoke();
// 显示Form
Application.Run(form);
}
private static void button_Click(object sender, EventArgs e)
{
// 使用MethodInvoker委托来封装一个方法,并通过委托来调用该方法
MethodInvoker methodInvoker = new MethodInvoker(ShowMessage);
methodInvoker.Invoke();
}
private static void ShowMessage()
{
MessageBox.Show("Hello, World!");
}
}
上記の例では、Formのインスタンスを作成し、その中にButtonを追加しました。Buttonをクリックすると、button_Clickメソッドが呼び出されます。button_Clickメソッドでは、MethodInvokerデリゲートを使用してShowMessageメソッドをラップし、デリゲートを使用してそのメソッドを呼び出します。ShowMessageメソッドは、”Hello, World!”というメッセージを表示するメッセージボックスを表示します。
その他に、Mainメソッド内でもMethodInvokerデリゲートを使用して直接ShowMessageメソッドを呼び出すことで、MethodInvokerの使用方法を示す演示を行います。