У меня есть класс, который ожидает событий.
Я использую отражение, чтобы подключить обработчик событий к объекту следующим образом:
public EventMonitor(object eventObject, string eventName)
{
_eventObject = eventObject;
_waitEvent = eventObject.GetType().GetEvent(eventName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic );
_handler = new EventHandler(SetEvent);
_waitEvent.AddEventHandler(eventObject, _handler);
}
Это все работает нормально, за исключением того, что у меня есть событие, которое не является общедоступным (оно внутреннее и доступно для этой сборки тестирования через InternalsVisibleToAttribute).
Сбой вызова AddEventHandler: «Невозможно добавить обработчик события, поскольку для события не существует общедоступного метода добавления».
Есть ли обходной путь, который я могу использовать?