В настоящее время я занимаюсь разработкой класса EventManager для обеспечения того, чтобы никакие события не оставались связанными с мертвыми дуплексными клиентами WCF, а также для контроля предотвращения множественной проводки от одного клиента к одному событию.
Теперь, по сути,Я застрял, пытаясь передать делегат события функции, которая будет управлять назначением следующим образом.
var handler = new SomeEventHandler(MyHandler);
Wire(myObject.SomeEventDelegate, handler);
Чтобы вызвать это:
private void Wire(Delegate eventDelegate, Delegate handler)
{
// Pre validate the subscription.
eventDelegate = Delegate.Combine(eventDelegate, handler);
// Post actions (storing subscribed event delegates in a list)
}
Обновить
Код для оболочки SomeEventDelegate:
public Delegate SomeEventDelegate
{
get { return SomeEvent; }
set { SomeEvent = (SomeEventHandler) value; }
}
event SomeEventHandler SomeEvent;
Очевидно, что делегат не возвращается в myObject.SomeEventDelegate, и я не могу вернуть делегат из метода, потому что мне нужно несколькопроверка после тоже.У вас есть идеи, как это сделать?