В качестве реакции на мой предыдущий пост о защитном программировании, один из моих читателей прислал мне такой вопрос:
[Один] очень известный сценарий защитного программирования встречается, когда входным параметром является IEnumerable
public class Publisher
{
public Publisher(IEnumerable<Subscriber> subscribers)
{
// defensive copy -> good or bad?
this.subscribers = subscribers.ToArray();
}
// …
}