2
我一直在試圖弄清楚如何向使用Codedom的方法添加處理程序,但我並沒有走得太遠。如何通過Codedom實現「句柄」
我想通過CodeDom中重現的方法是:
Private Sub Startup() Handles btnStart.Click
''# Do work
End Sub
的方法是很容易與創造:
Dim StartupMethod As New CodeMemberMethod
StartupMethod.Name = "Startup"
StartupMethod.Attributes = MemberAttributes.Private
但我無法弄清楚如何添加Handles btnStart.Click
。我已經看過CodeAttachEventStatement
,但是我不相信它可以在方法上做Handles
。
有誰知道如何做到這一點?
編輯:下面的解決方案適用於VB,但不適用於C#,因爲處理程序正在尋找處理事件而不是方法。
所以你說我應該使用上述初始化處理程序,就像在構造函數New()語句中一樣? – 2010-08-15 14:21:50
+1,是的,生成構造函數並使用CodeAttachEventStatement。 – 2010-08-15 15:01:53
是的,我還沒有做過,但我敢打賭,如果你在反射器中檢查你的'Handles ...'代碼,你會在New()構造函數中找到AddHandler方法。 – 2010-08-15 15:30:55