public class Container<T>
{
private readonly List<T> _list = new List<T>();
public virtual void Add(T t)
{
_list.Add(t);
}
}
public class StringContainer : Container<string>
{
public override void Add(string t)
{
throw new Exception();
}
}
public class A
{
}
public class AContaner<T> : Container<T> where T : A
{
public override void Add(T t)
{
throw new Exception();
}
}
Такой вопрос у меня если можно.

Нарушают ли классы StringContainer и AContaner<T> Принцип подстановки Барбары Лисков по отношению к классу Container<T>? С обычными классами как то проще чем с дженериками, или тут так же?