Я пытаюсь сделать что-то вдоль линийИспользование генериков для строго типизированных обработчиков событий?
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