1 回答

TA貢獻(xiàn)1827條經(jīng)驗 獲得超8個贊
好的,解決方案很簡單。而不是為我的“事件”創(chuàng)建一個類,我可以簡單地用作數(shù)據(jù)類,不需要任何事件。我的目標(biāo)是將其用于EventBus,而不是做這樣的事情EventArgs
public abstract class EventData<T> where T : EventData<T>
{
Action<T> action_;
public void Subscribe(Action<T> _actor) { action_ += _actor; }
public void Unsubscribe(Action<T> _actor) { action_ -= _actor; }
public void Dispatch(T _data) { if (action_ != null) action_(_data); }
}
public class EventBus
{
static Dictionary<string, EventData> _dict;
}
(此外,我不能這樣做,我也可能被迫找到這個問題的解決方案)我可以簡單地使用
public class EventBus<T> where T : EventArgs
{
static Dictionary<string, Action<T>> list;
public static void SubscribeOnEvent(string _sid, Action<T> _method)
{
// Do Stuff...
}
}
并以如下方式使用它
EventBus<MyData>.Subscibe("myID", (data) => { /*Do stuff...*/ });
現(xiàn)在我可以使用所有數(shù)據(jù),來自.感謝@JeroenMostert的想法。EventArgs
- 1 回答
- 0 關(guān)注
- 110 瀏覽
添加回答
舉報