因此,我使用C#3.0,並試圖完成一些特定形式的事件路由。C#通過一個事件從多個對象路由事件
public class A
{
public delegate void FooDel(string blah);
public Event FooDel FooHandler;
//...some code that eventually raises FooHandler event
}
public class B
{
public A a = new A();
//...some code that calls functions on "a" that might cause
//FooHandler event to be raised
}
public class C
{
private List<B> MyListofBs = new List<B>();
//...code that causes instances of B to be added to the list
//and calls functions on those B instances that might get A.FooHandler raised
public Event A.FooDel FooHandler;
}
我試圖弄清楚是怎麼來路由的實例的所有A.FooHandler
事件點火到一個事件C.FooHandler
。因此,如果有人註冊到C.FooHandler
,他們確實會收到列表中B實例包含的A的任何實例引發的事件。
我該如何做到這一點?
好的說B中的「a」是公開的。 – Ryan 2013-03-21 19:11:24
看到我上面的編輯。 – qJake 2013-03-21 19:17:09
但是現在C中沒有任何事件可以訂閱,這是我的目標。 – Ryan 2013-03-21 19:29:36