属性 带有 setter 和 getter 的访问修饰符
Property access modifiers with setters and getters
我有以下 C# 代码:
class C
{
public int A { get; private set; }
}
在 属性 类型和名称(本例中为 'public')之前放置的访问修饰符如何与指定的 getter 和 setter 访问修饰符相关?
表示这个属性的getter
是public
,但是setter
是private
——你可以在外面读这个属性 class 或程序集,但您只能在 class 内设置此 属性 声明。
如果您没有为 getter 或 setter 指定修饰符,那么它们将在 属性 名称之前有修饰符:
protected int Value {get; set;}
意味着你只能在这个class或者继承这个的class里面读写这个属性——getter
和setter
有修饰符 protected
.
您可以根据需要限制 属性 的 getter
或 setter
,但 getter
或 setter
的修饰符应该比之前的修饰符更严格属性 姓名。
此外,您不能同时限制 getter
和 setter
,因为在这种情况下,属性 名称之前的修饰符将没有任何意义。您可以仅限制 getter
或仅 setter
.
我有以下 C# 代码:
class C
{
public int A { get; private set; }
}
在 属性 类型和名称(本例中为 'public')之前放置的访问修饰符如何与指定的 getter 和 setter 访问修饰符相关?
表示这个属性的getter
是public
,但是setter
是private
——你可以在外面读这个属性 class 或程序集,但您只能在 class 内设置此 属性 声明。
如果您没有为 getter 或 setter 指定修饰符,那么它们将在 属性 名称之前有修饰符:
protected int Value {get; set;}
意味着你只能在这个class或者继承这个的class里面读写这个属性——getter
和setter
有修饰符 protected
.
您可以根据需要限制 属性 的 getter
或 setter
,但 getter
或 setter
的修饰符应该比之前的修饰符更严格属性 姓名。
此外,您不能同时限制 getter
和 setter
,因为在这种情况下,属性 名称之前的修饰符将没有任何意义。您可以仅限制 getter
或仅 setter
.