Делегировать поля, связанные с событиями и отражением - PullRequest
0 голосов
/ 17 января 2010

теперь у меня есть более теоретический вопрос, связанный с событиями и размышлениями. Вопрос в следующем: «Возможно или нет получить поле типа делегата, связанное с событием через EventInfo?»

По сути, когда вы определяете событие (неявно), компилятор добавляет частное поле делегата в ваш класс (очевидно, делегат того же типа, что и делегат, связанный с объявленным вами событием). Можно ли получить это поле с помощью отражения, более конкретно, через EventInfo?

А когда вы определяете событие явно?

Спасибо заранее. ура;)

1 Ответ

0 голосов
/ 17 января 2010
myEvent.GetType().GetGenericArguments()[0]

Но перед вызовом убедитесь, что myTest не равен нулю. Если вы хотите использовать EventInfo:

typeof (Program).GetEvent("myTest").EventHandlerType.GetGenericArguments()[0]

или вам нужен тип делегата?

typeof (Program).GetEvent("myTest").EventHandlerType
...