我有一个传递的数据对象:
public class TimedResult<T>
{
public ResultRequest Request { get; set; }
public T Data { get; set; }
public TimeSpan TimeTaken { get; set; }
}
在我的经理类中,我完成了一些引发事件的工作:
public void Execute(ResultRequest request)
{
var result = new TimedResult<DataTable>();
// fill data object here
OnResult(result);
}
我已经使OnResult
方法通用:
protected virtual void OnResult<T>(TimedResult<T> result)
{
if (Result != null)
Result(this, result);
}
但是如何使事件声明通用?
public event EventHandler<TimedResult<T>> Result; // red line under T
我应该怎么做?