后备字段自动为私有-是吗?
class Car
{
public String Mark { get; set; }
public String Model { get; set; }
}
答案 0 :(得分:3)
自动实现的属性:
public String Mark { get; set; }
public String Model { get; set; }
当您声明示例中所示的自动实现时,编译器将创建一个私有的匿名后备字段,该字段只能通过属性的get和set访问器进行访问。
private string mark;
private string model;
public String Mark {
get
{
return mark;
}
set
{
mark = value;
}
}
public String Model{
get
{
return model;
}
set
{
model = value;
}
}
答案 1 :(得分:0)
在
class Car
{
public string Mark { get; set; }
string Model { get; set; }
}
Car
是内部的。Mark
是公共的。Model
是私有的。这些注释似乎表明您正在询问备用字段的可访问性。
两个属性均为Auto-Implemented Properties (C# Programming Guide),具有隐藏的,不可访问的后备字段。 C#自动实现属性的文档说:
当您声明属性[...]时,编译器将创建一个私有的匿名后备字段,该字段只能通过属性的get和set访问器进行访问。
这与VB不同,在VB中,可以从类Auto-Implemented Properties (Visual Basic)中访问后备字段。