VS 2015で遊んでいる間、私はプロパティを作成していましたが、タブを押す前にミスタイプしていて、イベントを作成するための非常にきれいな簡単な方法です。私はデータを渡すために追加のパラメータを受け入れるためにこれをどのように使用するのか不明です(何が進行中であるか、何が行われたのかに関する情報をイベントに呼び出すときにデータを渡したいので)クラスでイベントを作成する最も簡単な方法
コードは
一見、ほとんどの例と似ていますが、このメソッドはデリゲートを操作する必要はありません。私はよりエレガントな(きれいな)コードを持つの光の中で、知っていただきたいと思い何How to call an event manually in C#?
public delegate void MyEventHandler(object sender, MyEventArgs e)
public event MyEventHandler MyEvent;
public void RaisesMyEvent()
{
if(MyEvent != null) //required in C# to ensure a handler is attached
MyEvent(this, new MyEventArgs(/*any info you want handlers to have*/));
}
から、次の例と比較し、Microsoftが(この質問の最初の方法)を良く提供される方法がある(それはきれいらしいです)、もしそうなら、私は標準的なイベント引数に加えて文字列を受け入れるか、あるいは情報を渡すためにeventargsを拡張するためにそれを少し調整することができますか?
@VisualVincentカスタムのEventArgsを使用するためにカスタムデリゲートは必要ありません。その目的のために汎用的な 'EventHandler 'があります。 –
@ThomasLevesque:ああ、私は実際にそれを知らなかった。ありがとう、知って良いこと! –
@ThomasLevesque - あなたはこれの例を挙げることができますか? TEeventArgsに基づいて新しいオブジェクトを作成しようとすると、その名前でプロパティを作成するように私に要求するエラーが表示されます(別名、存在しないようです)。 –