私は渡すデータオブジェクトを持っています:
public class TimedResult<T>
{
public ResultRequest Request { get; set; }
public T Data { get; set; }
public TimeSpan TimeTaken { get; set; }
}
私の Manager クラスでは、イベントを発生させるいくつかの作業が行われています:
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
これをどのように行う必要がありますか?