2016-11-08 11 views
-1

私はイベントを購読した簡単なメソッドを作成しました。 私はそれを複数回に分けてどうなるかと思いました。イベントを繰り返し購読する

例:

//This method will be launched everytime a TabSelection Event fires... 
public void SampleMethod() 
{ 
this.ctlSample.gridView.SelectionChanged += gridView_SelectionChanged; 
} 

はStackOverflowの例外があるかもしれませんか?同様に、彼は思い切って情報をメモリに書き込むのですか、それを無視するのに十分なほどスマートなランタイムですか?

+0

なぜあなたはそれを試してみてはどうでしょうか?ここに質問を投稿するよりもずっと速くて簡単です。 – Servy

+0

@Servyはい、おそらく。しかしそれはそれほど重要ではなかったし、答えを待つ間に仕事に戻ることができた。実際、これは自分で試してみるのに時間がかかりませんでした。 – Cataklysim

+0

あなたが書いたプログラムを実行したときに何が起こったのかを知るために、F5を1回押すよりも、質問を入力する時間が短くなりましたか?それにもかかわらず、たとえそれがあなたのほうが速ければ(それはそうではなく、議論のためだけに)、非常に多くの人の時間を取って文字通りあなた自身の時間。 – Servy

答えて

0

お客様のメソッドgridView_SelectionChangedは、イベントが呼び出されたときに複数回実行されます。

これは自分でテストして本当に簡単に見つけられるものの1つです。

public static event EventHandler TestEvent; 

    public static void Main(string[] args) 
    { 
     TestEvent += Program_TestEvent; 
     TestEvent += Program_TestEvent; 
     TestEvent += Program_TestEvent; 

     TestEvent(null, EventArgs.Empty); 
    } 

    private static void Program_TestEvent(object sender, EventArgs e) 
    { 
     Console.WriteLine("EVENT"); 
    } 

    //output: 
    //EVENT 
    //EVENT 
    //EVENT 
関連する問題