【发布时间】:2012-05-05 07:25:31
【问题描述】:
考虑以下代码:
private string _text = null;
private string[] _values = null;
public string Text { get { return _text; } }
public string[] Values { get { return _values; } }
这有什么作用,而只有公共成员无法做到?
【问题讨论】:
-
请注意,在将数组作为类的只读属性公开时,您应该非常非常小心。 数组引用是只读的,但数组内容不是。这个类的用户可以随意改变数组的内容。如果这不是可取的,则返回
ReadOnlyCollection<string>,而不是string[]。 -
Eric对此话题的详细思考:blogs.msdn.com/b/ericlippert/archive/2008/09/22/…
标签: c# access-modifiers