Ais*_*war 4 .net c# properties modifier readonly
我有一个类,其中包含一个List<Item>我在类上有一个getter来返回它.我可以做些什么来确保调用的用户无法修改返回的List吗?(因为它是引用类型 - 我相信对返回引用的更改会影响存储在源对象中的列表)
返回包含的列表ReadOnlyCollection<T>.
public ReadOnlyCollection<Item> MyROList {
get { return new ReadOnlyCollection<Item>(myList); }
}
private List<Item> myList = new List<Item>();
Run Code Online (Sandbox Code Playgroud)
关于SO的更多细节.
根据您的类的用法,您可以分配ReadOnlyCollection构造时间并将其链接到底层List.如果您希望总是或大部分时间都需要此属性,并且当时基础List已到位,那么这是明智的.否则,您可以离开ReadOnlyCollection<Item>类成员null并在getter中按需分配它null(如果考虑到线程安全性).
| 归档时间: |
|
| 查看次数: |
2656 次 |
| 最近记录: |