Как инициализировать поле, которое принимает IEnumerable - PullRequest
1 голос
/ 10 апреля 2011

У меня есть свойство public IEnumerable<T> PieceMovement { get; set; }

, какой объект мне следует использовать для инициализации этого свойства.Я думаю, что простейшая реализация .net IEnumerable подойдет, но каким будет этот объект, и это правильная идея?

Ответы [ 2 ]

1 голос
/ 11 апреля 2011

Этот вопрос не имеет прямого отношения к IEnumerable, но относится к хорошим практикам проектирования ООП в целом.

Поскольку вы выставляете PieceMovement как IEnumerable, каждый объект, реализующий IEnumerable, является хорошим кандидатом.

Вы никогда не должны делать предположения о фактическом типе, поэтому ваша идея хороша для меня. Я также обычно использую Список

1 голос
/ 10 апреля 2011

Вы должны использовать List<T> или ReadOnlyCollection<T>.

Если вы инициализируете его на основе существующей последовательности, вы можете установить для него запрос LINQ.

...