在属性中,我们是否可以为get
和set
使用不同的访问修饰符?
在属性中,我们是否可以为get
和set
使用不同的访问修饰符?
是的,你可以这样做,但是需要遵守一个规则,即getter/setter的访问修饰符不能比属性本身更加限制。
例如(C#):
public Foo { get; private set; } //this is okay
protected Bar { get; public set; } //this will throw a compile error
您可以限制属性的getter或setter:
public string MyProperty
{
get { return _myProperty; }
private set { _myProperty = value; }
}
它也适用于内部和受保护的。 然而,关键词是“限制”- 您不能使任何修饰符比整体修饰符更易访问。