具有setter和getter的属性访问修饰符

时间:2017-01-27 18:22:33

标签: c# access-modifiers automatic-properties

我有以下C#代码:

class C
{
    public int A { get; private set; }
}

访问修饰符如何放置在属性类型和名称(本例中为“public”)之前与getter和setter的指定访问修饰符相关?

1 个答案:

答案 0 :(得分:4)

这意味着此属性的getterpublic,但setterprivate - 您可以在类或程序集外读取此属性,但只能设置它在类中声明了这个属性。

如果你没有为getter或setter指定修饰符,那么它们将在属性名称之前有修饰符:

protected int Value {get; set;}

这意味着您只能在此类或继承此类的类中读取和写入此属性 - gettersetter具有修饰符protected

您可以根据需要限制属性的gettersetter,但gettersetter的修饰符应比属性名称前的修饰符更严格。

此外,您不能同时限制gettersetter,因为在这种情况下,属性名称之前的修饰符将没有某些含义。您只能限制getter或仅限setter