2016-11-08 69 views
-1

我來到了一個點,我創建了一個訂閱事件的簡單方法。 我想知道如果我不止一次地使用它會發生什麼。重複訂閱事件

實施例:

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

可能會有一個異常#1?就像,他是否反覆將信息寫入存儲器或運行時是否足夠聰明以忽略它?

+0

你爲什麼不嘗試一下,自己找出來?這比在這裏發佈問題要快得多和簡單。 – Servy

+0

@Servy是的,可能。但這並不重要,我可以在等待答案的同時重新開始工作。事實上,這並沒有花費我自己嘗試的時間。 – Cataklysim

+0

輸入問題花費的時間比打F5一次的時間少一些,看看當你運行已經寫好的程序時發生了什麼?不管怎樣,即使它對你來說更快(它不是,但僅僅是爲了爭辯),你非常認爲你不需要花費其他人的時間,只是爲了節省你幾秒鐘的時間時間。 – Servy

回答

0

當您的事件被調用時,您的方法gridView_SelectionChanged將被多次執行。

這是你可以自己測試並發現真正簡單的事情之一。

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