- デリゲートの宣言:
デリゲートを宣言するには、
delegate
キーワードを使用します。以下は、引数がなく戻り値もないデリゲートの例です。
delegate void MyDelegate();
引数や戻り値がある場合は、それらの型をデリゲートの宣言に含めます。
- デリゲートのインスタンス化と呼び出し: デリゲートを使用するには、デリゲートのインスタンスを作成し、メソッドを割り当てます。以下は、デリゲートのインスタンス化と呼び出しの例です。
MyDelegate myDelegate = new MyDelegate(SomeMethod);
myDelegate();
SomeMethod
は、デリゲートが参照するメソッドです。デリゲートの呼び出しは、インスタンス名に括弧を付けて行います。
- 匿名メソッド: デリゲートには、匿名メソッドを使用することもできます。以下は、匿名メソッドを使用したデリゲートの例です。
MyDelegate myDelegate = delegate ()
{
// 匿名メソッドの処理
};
myDelegate();
匿名メソッドは、デリゲートの宣言と同じ場所で定義されます。
- ラムダ式: C# 3.0以降では、ラムダ式を使用してデリゲートを簡潔に宣言することもできます。以下は、ラムダ式を使用したデリゲートの例です。
MyDelegate myDelegate = () =>
{
// ラムダ式の処理
};
myDelegate();
ラムダ式は、=>
の前に引数を指定し、=>
の後に処理内容を記述します。
これらはC#デリゲートの基本的な構文と使用法の一部です。デリゲートは、イベントハンドリングや非同期プログラミングなど、さまざまなシナリオで役立ちます。詳細な使用法や応用的なトピックについては、C#の公式ドキュメントや他のリソースを参照してください。