我想实现沿使用强类型的事件处理程序的仿制药?
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