В 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
}
Спасибо.