C# でイベントを作成するときは、.NET Framework ガイドライン の例から次のように定義するのが一般的です。
public class CustomEventArgs : EventArgs
{
public CustomEventArgs(string s)
{
msg = s;
}
private string msg;
public string Message
{
get { return msg; }
}
}
...
public delegate void CustomEventHandler(object sender, CustomEventArgs a);
多くの場合、引数をまったく必要としないイベントを作成します。Action
私は通常、イベント ハンドラー タイプを使用して単純にこれを実装します。
public event Action LogonScreenExited;
「伝統的な」パターンに従いたい理由があるのか どうか疑問に思っていました. おそらく、このようなイベントは設計上の欠陥を示しているのでしょうか? ただし、使用する理由Action
はYAGNIです。使用されていないときに何かを実装する (そしてその意図を示す) のはなぜですか?