Eri*_*and 4 c# clone copy interface-implementation
我正在写一个实现的自定义类,IDictionary我不知道该怎么做CopyTo.是应该将每个元素复制到目标数组(浅层副本),还是应该复制/克隆每个元素,然后将它放在目标数组中(深层复制)?
合同没有定义实现,但是所有通用集合似乎都是浅层副本(请参阅http://referencesource.microsoft.com/#q=List.CopyTo).这是有道理的,因为没有定义的深层复制方法object,这将是CopyTo实现的一部分.
这取决于您的场景,如果您根本不打算使用此方法,请考虑不实现它并抛出一个NotSupportedException.如果其他人将使用您的集合,请实现浅拷贝以与标准.NET库对齐.如果需要深层复制方法,请将其作为单独的方法添加(可能通过实现ICloneable).
| 归档时间: |
|
| 查看次数: |
871 次 |
| 最近记录: |