クラスのイベントに登録していましたが、いつものように怠惰で、Visual Studio 2008 Proに組み込まれているオートコンプリート機能を使用して、デリゲートの作成とそれに関連付けられたメソッドを自動作成しました。
public abstract class FooBase
{
protected event EventHandler<MyValueChangedArgs> MyValueChanged;
protected FooBase()
{
MyValueChanged +=
new EventHandler<MyValueChangedArgs>(HandleMyValueChanged);
}
private void HandleMyValueChanged(object sender, MyValueChangedArgs e)
{
// Some handling logic
}
}
通常、Visual Studioがイベントハンドラーを生成するときはよく考えませんが、リファクタリングから推奨事項を受け取りました。「冗長なデリゲート作成を削除する」プロ。推奨事項は次のようになります。
public abstract class FooBase
{
protected event EventHandler<MyValueChangedArgs> MyValueChanged;
protected FooBase()
{
MyValueChanged += HandleMyValueChanged;
}
private void HandleMyValueChanged(object sender, MyValueChangedArgs e)
{
// Some handling logic
}
}
デリゲートの作成はどのような状況で冗長であり、デリゲートの作成はいつ適切ですか?
ありがとう。