C#现在允许在泛型中使用委托约束。当我试图学习新功能时,我无法用一种实用的方式来使用它。正如其他人多年来一直要求这个功能一样,我显然忽略了这一点。
public class Test<TDelegate> where TDelegate : Delegate
{
readonly TDelegate fd; // no way to call this
public event TD Evt; // not even legal
}
一个类如何使用作为委托的泛型参数做任何有用的事情?
答案 0 :(得分:0)
您所要做的就是:
public static void Foo<T>(T t) where T : System.Delegate
{
t.DynamicInvoke();
}
出于某种原因,正常Invoke()
不是可以使用的有效方法。