不同的访问修饰符的属性?

时间:2011-05-06 18:13:11

标签: c# asp.net

我有疑问,我们可以为属性中的get和set设置不同的访问修饰符。

谢谢,

2 个答案:

答案 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; }
}

它也适用于内部和受保护。 然而,这里的关键词是“限制” - 你不能让任何一个修饰符比整体修饰符更容易理解。