我在窗體上有一堆按鈕,並且在我的代碼中的某個點上,我想強制啓動Click
事件。我可以這樣做:C#:如何使用反射調用事件?
if (myButton == btnFoo)
btnFoo_Click(this, new EventArgs());
else if (myButton == btnBar)
btnBar_Click(this, new EventArgs());
else if // blah blah
...
顯然這並不理想。這看起來像是一種反思,但我找不到正確的方法來做到這一點,例如,
var ei = myButton.GetType().GetEvent("Click"); // so far so good;
var mi = ei.GetRaiseMethod(); // always returns null - no good!
GetRaiseMethod的文檔。
那麼如何強制點擊代碼運行?
從那時候同一頁面的按鈕:「這個方法返回null與C#事件的關鍵字或Visual Basic中的事件關鍵字聲明事件,這是因爲C#和Visual Basic編譯器不會生成這樣的方法。「 – 2010-10-17 16:38:57