在我的类中我有一个返回字符串数组的属性,我想让它只读。什么是惯用的方法呢?
现在我有这个:
class MyClass
{
string[] MyStrings { get; set; }
}
答案 0 :(得分:1)
如果你最关心的是数据的完整性,你总是可以返回数组的副本。
另见https://softwareengineering.stackexchange.com/questions/185166/best-practices-returning-read-only-object,有一些有趣的观点。
答案 1 :(得分:0)
您可以将数组作为IEnumerable<string>
返回,这将只允许枚举,但仍然可以将其强制转换回string[]
并修改元素:
IEnumerable<string> MyIEnumerableOfStrings { get { return MyStrings; } }