C#のInvokeメソッドの使い方は何ですか?
C#では、Invokeメソッドを使用してデリゲートや引数なしメソッドを呼び出すことができます。
最初に、呼び出すメソッドと同じパラメータや戻り値を持つデリゲートを定義する必要があります。たとえば、引数のないメソッドを呼び出す場合は、次のようなデリゲートを定義できます:
delegate void MyMethodDelegate();
その後、呼び出すメソッドをパラメータとして委任のインスタンスを作成することができます。
MyMethodDelegate myDelegate = MyMethod;
次に、Invokeメソッドを使用してそのデリゲートインスタンスを呼び出すことができます。つまり、対応するメソッドを呼び出します。
myDelegate.Invoke();
例文は次のようになります:具体的なコード例を以下に示します。
using System;
namespace InvokeExample
{
delegate void MyMethodDelegate();
class Program
{
static void Main(string[] args)
{
MyMethodDelegate myDelegate = MyMethod;
myDelegate.Invoke();
}
static void MyMethod()
{
Console.WriteLine("Hello, World!");
}
}
}
上記のコードでは、MyMethodという引数のないメソッドが定義され、MainメソッドでMyMethodDelegateデリゲートのインスタンスが作成されます。その後、Invokeメソッドを使用してそのデリゲートインスタンスを呼び出し、最終的には”Hello, World!”が出力されます。