🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# private(C# 参考) **private** 关键字是一个成员访问修饰符。 私有访问是允许的最低访问级别。 私有成员只有在声明它们的类和结构体中才是可访问的,如下例所示: ``` class Employee { private int i; double d; // private access by default } ``` 同一体中的嵌套类型也可以访问那些私有成员。 在定义私有成员的类或结构外引用它会导致编译时错误。 有关 **private** 与其他访问修饰符的比较,请参见[可访问性级别(C# 参考)](https://msdn.microsoft.com/zh-CN/library/ba0a1yw2.aspx)和[访问修饰符(C# 编程指南)](https://msdn.microsoft.com/zh-CN/library/ms173121.aspx)。 ## 示例 在此示例中,Employee 类包含两个私有数据成员 name 和 salary。 作为私有成员,它们只能通过成员方法来访问。 添加名为 GetName 和 Salary 的公共方法,以便可以对私有成员进行受控的访问。 通过公共方法访问 name 成员,而通过公共只读属性访问salary 成员。 (有关更多信息,请参见 [属性(C# 编程指南)](https://msdn.microsoft.com/zh-CN/library/x9fsa0sw.aspx)。) ``` 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# 语言规范](https://msdn.microsoft.com/zh-CN/library/ms228593.aspx)。该语言规范是 C# 语法和用法的权威资料。 ## 请参阅 [C# 参考](https://msdn.microsoft.com/zh-CN/library/618ayhy6.aspx) [C# 编程指南](https://msdn.microsoft.com/zh-CN/library/67ef8sbd.aspx) [C# 关键字](https://msdn.microsoft.com/zh-CN/library/x53a06bb.aspx) [访问修饰符(C# 参考)](https://msdn.microsoft.com/zh-CN/library/wxh6fsc7.aspx) [可访问性级别(C# 参考)](https://msdn.microsoft.com/zh-CN/library/ba0a1yw2.aspx) [修饰符(C# 参考)](https://msdn.microsoft.com/zh-CN/library/6tcf2h8w.aspx) [public(C# 参考)](https://msdn.microsoft.com/zh-CN/library/yzh058ae.aspx) [protected(C# 参考)](https://msdn.microsoft.com/zh-CN/library/bcd5672a.aspx) [internal(C# 参考)](https://msdn.microsoft.com/zh-CN/library/7c5ka91b.aspx)