拥有"通用接口"有什么区别?和#34;非通用接口中的通用方法" ? 一个优于另一个有什么优势吗?
interface IMyInterface
{
void MyMethod<T>(T param) where T : class;
}
和
interface IMyInterface<T> where T : class
{
void MyMethod(T param)
}
答案 0 :(得分:2)
是的,非泛型方法不能强制泛型方法具有特定的类型参数。通用接口可以。
在IMyInterface<T>.MyMethod
中,T
只能是IMyInterface<T>
使用的完全相同的类型。在IMyInterface.MyMethod
中,T
可以是任何内容(只要它遵循类型约束T : class
)。