更新:2007 年 11 月
private 关键字是一个成员访问修饰符。私有访问是允许的最低访问级别。私有成员只有在声明它们的类和结构体中才是可访问的,如下例所示:
复制代码 | |
---|---|
class Employee { private int i; double d; // private access by default } |
同一体中的嵌套类型也可以访问那些私有成员。
在定义私有成员的类或结构外引用它会导致编译时错误。
有关 private 与其他访问修饰符的比较,请参见可访问性级别(C# 参考)和访问修饰符(C# 编程指南)。
示例
在此示例中,Employee 类包含两个私有数据成员 name 和 salary。作为私有成员,它们只能通过成员方法来访问。添加名为 GetName 和 Salary 的公共方法,以便可以对私有成员进行受控的访问。通过公共方法访问 name 成员,而通过公共只读属性访问salary 成员。(有关更多信息,请参见 属性(C# 编程指南)。)
C# | 复制代码 |
---|---|
class Employee2 { private string name = "FirstName, LastName"; private double salary = 100.0; public string GetName() { return name; } public double Salary { get { return salary; } } } class PrivateTest { static void Main() { Employee2 e = new Employee2(); // The data members are inaccessible (private), so // they can't be accessed like this: // string n = e.name; // double s = e.salary; // 'name' is indirectly accessed via method: string n = e.GetName(); // 'salary' is indirectly accessed via property double s = e.Salary; } } |
C# 语言规范
有关更多信息,请参见 C# 语言规范中的以下各章节:
3.5.1 声明的可访问性
3.5.4 可访问性约束
10.3.5 访问修饰符
10.3.8.2 声明的可访问性
10.3.8.5 访问包含类型的私有成员和受保护成员