это зависит от того, какое ограничение вы хотите добавить и какую операцию выполняет ваш класс.
В общем случае вы должны добавить ограничение для типа, который ваш универсальный класс использует
вВ приведенном ниже примере универсальный класс использует метод GetString (), который реализован в базовом классе.Вам нужно добавить ограничение на этот тип, чтобы общий класс нашел этот метод
class A
{
public string GetString()
{
return "A";
}
}
class B : A
{
public string GetAnotherString()
{
return "B";
}
}
class GenericClass<T> where T:A
{
private T _obj;
public GenericClass(T obj)
{
_obj = obj;
}
public string GetString()
{
return _obj.GetString();
}
}
public class MyClass
{
public static void Main()
{
GenericClass<A> genericClass=new GenericClass<A>(new B());
Console.WriteLine(genericClass.GetString());
Console.Read();
}
}