дженерики и LSP
От: Аноним  
Дата: 28.03.12 07:00
Оценка:
 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>? С обычными классами как то проще чем с дженериками, или тут так же?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.