我有疑问,我们可以为属性中的get和set设置不同的访问修饰符。
谢谢,
答案 0 :(得分:8)
是的,你可以这样做,但是你的getter / setter不能拥有比属性本身更少限制的访问修饰符。
例如(C#):
public Foo { get; private set; } //this is okay
protected Bar { get; public set; } //this will throw a compile error
答案 1 :(得分:4)
您可以限制属性的getter或setter:
public string MyProperty
{
get { return _myProperty; }
private set { _myProperty = value; }
}
它也适用于内部和受保护。 然而,这里的关键词是“限制” - 你不能让任何一个修饰符比整体修饰符更容易理解。