給定兩個具有相同事件的類,我希望能夠使用一個名稱來引用它們。類似以下內容:如何在運行時使用相同的事件附加到不同的類?
Public Class myclass1
Public event1()
End Class
Public Class myclass2
Public event1()
End Class
在這裏,我想能夠在運行時確定使用哪個類:
Sub somefunction(select as integer)
Dim voidclass
if select = 1 then
voidclass = myclass1
else
voidclass = myclass2
end if
AddHandler voidclass.event1, AddressOf eventhappened
End Sub
Sub eventhappened()
msgbox("Event occured")
End Sub
顯然有可能是這個例子更好的方法,但讓我們假定類book1
已經存在,並且我的任務是創建book2
並且只修改somefunction
而不修改book1
本身。
上面的例子應該會導致錯誤event1
不是'Object'`的事件。
看來,屬性和方法都很好,但事件不是。我在這種情況下如何處理事件?
與'GetType()'比較結合怎麼樣?或者創建其他類派生自的基類,其中基類包含事件。然後你可以投到基類。 –