【发布时间】:2011-03-01 13:02:54
【问题描述】:
我知道 readonly 集合会阻止从列表中添加/删除,但它为什么不阻止设置集合中对象的属性。
System.Collections.ObjectModel.ReadOnlyCollection<PersonPhoneNumber> ReadOnlyPhoneNumbers = new System.Collections.ObjectModel.ReadOnlyCollection<PersonPhoneNumber>(_PhoneNumbers);
ReadOnlyPhoneNumbers[0].Number = "01111111111111";
就本问题而言,假设 _PhoneNumbers 是一个 List,并且它包含至少一个 PersonPhoneNumber 类的实例。
如何公开对象集合并使对象只读?此问题的根源在于必须在 WCF 数据合同中公开私有集合,但我不希望该集合可访问。
我想使用:
Person.Mobile = "011111111111111";
代替:
Person.PhoneNumbers.Add(New PersonPhoneNumber{Number= "01111111111111", Type=Mobile});
【问题讨论】:
标签: .net wcf readonly-collection