537*_*mfb 4 .net c# linked-list readonly
我有一个对象的链接列表(可以更改为任何其他集合类型,只要它保持输入顺序)在程序集A(DLL)中.
当程序集B从包含所述LinkedList的类创建一个对象时,它会分配一个方法来报告一些信息.该方法采用的一个参数是LinkedList.
现在我希望程序集B中的这个方法能够从LinkedList读取(遍历它并根据它的内容做事),但是我需要阻止该方法更改List中的数据.
虽然我现在正在使用Assembly A,但是当它公开时,我需要防止数据从我的程序集外部更改,以便使用该库的第三方不会对程序集内的结果产生影响.
基本上,我希望"密封"将LinkedList从程序集A带到程序集B的参数
我有意义吗?
如果您可以从 更改LinkedList<T>为List<T>,则可以使用该AsReadOnly()方法生成列表的只读包装器。包装器是轻量级的,不需要复制,并立即反映底层集合的更改:
List<MyClass> originalList = ...
IList<MyClass> readOnly = originalList.AsReadOnly();
| 归档时间: | 
 | 
| 查看次数: | 3682 次 | 
| 最近记录: |