非通用接口中的通用方法

时间:2017-06-12 07:07:08

标签: c# oop generics interface

拥有"通用接口"有什么区别?和#34;非通用接口中的通用方法" ? 一个优于另一个有什么优势吗?

interface IMyInterface
{
     void MyMethod<T>(T param) where T : class;
}

interface IMyInterface<T>  where T : class
{
   void MyMethod(T param)
}

1 个答案:

答案 0 :(得分:2)

是的,非泛型方法不能强制泛型方法具有特定的类型参数。通用接口可以。

IMyInterface<T>.MyMethod中,T只能是IMyInterface<T>使用的完全相同的类型。在IMyInterface.MyMethod中,T可以是任何内容(只要它遵循类型约束T : class)。