IEnumerableを受け入れるコレクションにコンストラクタがあります。私はアイテムを使って新しいコレクションを列挙して作成したいが、同じアイテムは参照しない。項目には値型と参照型を指定できます。refタイプ(deepcopy)のコピー方法は?
CustomCollection cc = new CustomCollection (IEnumerable<T> items)
{
foreach (var item in items)
{
this.Add(item); // justs adds the reference for ref types.
}
}
EDIT:.NETコレクションには同じメソッドがあり、ディープコピーは行いません。なぜ元のコレクションと同じ要素を参照するコレクションを持たせたいのですか?
ICloneableはあまり指定されておらず(浅いまたは深いとマークされていない)、ほとんどサポートされていません。 –