我想實現沿使用強類型的事件處理程序的仿製藥?
class Receiver {
public RegisterEvent<T>(???);
}
class EventTypeClass {
...
}
class MyApp
{
public MyApp()
{
RegisterEvent<EventTypeClass>(MyEventHandler);
}
void MyEventHandler(EventTypeClass param)
{
// Handle event of type 'EventTypeClass'
}
}
我不知道我怎麼能傳遞一個強類型的事件處理程序的參數,或者如果可能的話,或者是線的東西我不得不用的東西像
void MyEventHandler(object param)
{
var castedParam = param as EventTypeClass;
}
謝謝!這正是我想要的(編輯中的那個)。但是,我忘記了整個交易的一個組成部分。在RegisterEvent方法,我可以存儲在詞典之類的事件處理程序?鑑於有該類會觸發不同的事件可能是無限量的,我需要保持註冊的處理程序/莫名其妙存儲的事件。 –
Muhwu