【发布时间】:2013-12-25 07:46:07
【问题描述】:
我对委托和通用方法有点困惑。
是否可以将委托分配给具有泛型类型参数的方法?
IE:
//This doesn't allow me to pass a generic parameter with the delegate.
public delegate void GenericDelegate<T>()
someDelegate = GenericMethod;
public void GenericMethod<T>() where T : ISomeClass
{
}
我正在尝试将此委托传递给具有该方法所期望的接口的泛型类型的函数,其函数如下:
void CheckDelegate(GenericDelegate<ISomeClass> mechanism);
这样我就可以像这样使用委托了:
someDelegate<ImplementsSomeClass>();
【问题讨论】:
-
someDelegate看起来像什么? (你得到了什么错误?) -
公共委托 void GenericDelegate
(); -
"变量 'someDelegate' 不能与类型参数一起使用。"
-
为什么不使用带 ISomeState 类型参数的委托?
标签: c# generics types interface delegates