如果我有一个属性,我想让继承者写入,但保持只读外部,实现这个的首选方法是什么?我通常会这样做:
private object m_myProp; public object MyProp { get { return m_myProp; } } protected void SetMyProp(object value) { m_myProp = value; }
有没有更好的办法?
private object m_myProp; public object MyProp { get { return m_myProp; } protected set { m_myProp = value; } }
或者在C#3.0中
public object MyProp {get; protected set;}
这绝对是要走的路.
public object MyProp {get; protected set;}
如果你使用的是旧版本的C#,那么这就是你要走的路.
private object _myProp; public object MyProp { get { return _myProp; } protected set { _myProp = value; } }