我想創建一個泛型類。這個班將會有一些通用的活動。是否有可能創建通用事件處理程序類似自動生成的泛型事件
class MyClass<T>
{
public event EventArgs SomeEventClass();
}
凡被仿製藥同時使用一個基類創建的事件類的類名。
我很有效地試圖在事件處理程序中返回事件,並希望它們對調用方是安全的。
我想創建一個泛型類。這個班將會有一些通用的活動。是否有可能創建通用事件處理程序類似自動生成的泛型事件
class MyClass<T>
{
public event EventArgs SomeEventClass();
}
凡被仿製藥同時使用一個基類創建的事件類的類名。
我很有效地試圖在事件處理程序中返回事件,並希望它們對調用方是安全的。
你想這樣的事情....
class MyClass<T>
{
public event EventHandler<EventArgs<T>> SomeEvent;
protected void RaiseEvent(T data)
{
var tmp = SomeEvent;
if(tmp != null)
tmp(this, new EventArgs<T>(data));
}
}
您需要創建通用EventArgs
但應該很容易。 您可以派生基類並使用特定的通用參數調用RaiseEvent
方法
這是做你想做的嗎?
class MyClass<T>
{
public event Func<T> GenericEvent;
}
所有事件都應遵循標準的EventHadler模式,以便它們與其他代碼兼容。 – svick
目前還不清楚你想要什麼......你爲什麼需要EventClass?它與泛型有什麼關係? –