joj*_*ojo 0 c# types interface
在C#中,我有一个接口,并且有一些类将实现此接口.我有一个通用的实用程序类,我想限制,以便实用程序类只能使用实现该接口的类型声明,如下所示,我该怎么办?
public interface IMyInterface
{}
public class A : IMyInterface {} // can pass into UtilityClass
public interface B : IMyInterface{}
public class C : B {} // can pass into UtilityClass
public class D {} // can Not pass into UtilityClass
public class UtilityClass<T is IMyInterface>
{
// some utility function
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
您正在寻找通用约束.这些在C#中使用where类名后面的关键字表示.
public class UtilityClass<T> where T:IMyInterface
{
}
Run Code Online (Sandbox Code Playgroud)