デリゲート (System 名前空間)
Action
public delegate void Action();
- 引数を持たず、戻り値もないメソッドを格納するデリゲートです。
EventHandler
public delegate void EventHandler(object? sender, EventArgs e);
継承:Object → Delegate → EventHandler
- イベント データを含まないイベントを処理するメソッドを格納するデリゲートです。
EventHandler<TEventArgs>
public delegate void EventHandler<TEventArgs>(object? sender, TEventArgs e);
継承:Object → Delegate → EventHandler<TEventArgs>
- イベントがデータを提供するときにイベントを処理するメソッドを格納するデリゲートです。
Func<TResult>
public delegate TResult Func<out TResult>();
継承:Object → Delegate → Func<TResult>
- 引数を持たず、
TResult
で指定された型の値を返すメソッドを格納するデリゲートです。
Func<T,TResult>
public delegate TResult Func<in T,out TResult>(T arg);
継承:Object → Delegate → Func<T,TResult>
Predicate<T>
public delegate bool Predicate<in T>(T obj);
継承:Object → Delegate → Predicate<T>
- 引数として
T
で指定された型を1つ持ち、戻り値がbool型となるメソッドを格納するデリゲートです。 - このデリゲートは「指定されたオブジェクトが何らかの条件を満たしているかどうかを判断するメソッド」を表すために用いられます。
- Predicate<T>型はFunc<T,TResult>デリゲートのTResultにboolを代入した特殊な場合のデリゲートです。