私のクラスは を実装してIEnumerable<T>
います。クラスは以下も実装します。
void AddRange(IEnumerable<T> items)
{
// items can be a deffered query against the collection items being added to
var itemslist = items.ToList();
...processing and adding...
}
しかし、静的コレクションへの変換が適切な設計であるかどうかについては、疑問があります。
たとえば、リスト自体には次のようなものはありません。
var list = new List<int> {1, 2, 3};
list.AddRange(list.Select(i => i+list.Count).ToList());
例外なし。
var list = new List<int> {1, 2, 3};
list.AddRange(list.Select(i => i+list.Count));
InvalidOperationException : 列挙中にコレクションが変更されました。