Kyl*_*ran 5 c# generics generic-method
我想要做的是有一个方法,将泛型类型作为带有约束的参数.但是,约束的类型也有第二种泛型类型,但我希望该方法能够工作,无论第二次输入是什么:
public class IEvent<T> where T : EventArgs { }
public class EventManager
{
public void DoMethod<T>() where T: IEvent<???>
{
}
}
Run Code Online (Sandbox Code Playgroud)
具体来说,我试图让我的EventManager班级接受任何类型的活动,然后用它做点什么.我是在过度复杂化,还是可行的?
pho*_*oog 11
你必须使用第二个约束:
void DoMethod<TEvent, TArgs>() where TEvent : IEvent<TArgs> where TArgs : EventArgs {}
Run Code Online (Sandbox Code Playgroud)