是否可以指出用于泛型方法的类型应该是一个接口?

Dre*_*gel 6 c# generics generic-programming

这是我的通用方法代码:

  public static IT Activate<IT>(string path)
  {
        //some code here....
  }
Run Code Online (Sandbox Code Playgroud)

我想设置通用IT必须只是一个接口.

这可能吗?

Jon*_*eet 7

不,在C#或.NET泛型中一般没有这样的约束.你必须在执行时检查.

if (!typeof(IT).IsInterface)
{
    // Presumably throw an exception
}
Run Code Online (Sandbox Code Playgroud)