private(C# 参考)

private 关键字是一个成员访问修饰符。

本页涵盖 private 访问。 private 关键字也是 private protected 访问修饰符的一部分。

私有访问是允许的最低访问级别。 私有成员只有在声明它们的类和结构体中才是可访问的,如以下示例所示:

class Employee
{
    private int _i;
    double _d;   // private access by default
}

同一体中的嵌套类型也可以访问那些私有成员。

在声明私有成员的类或结构外引用它会导致编译时错误。

有关 private 和其他访问修饰符的比较,请参阅可访问性级别访问修饰符

示例

在此示例中,Employee 类包含两个私有数据成员 _name_salary。 作为私有成员,它们只能通过成员方法来访问。 添加名为 GetNameSalary 的公共方法,以便可以对私有成员进行受控的访问。 通过公共方法访问 _name 成员,而通过公共只读属性访问 _salary 成员。 有关详细信息,请参阅 属性

class Employee2
{
    private readonly string _name = "FirstName, LastName";
    private readonly double _salary = 100.0;

    public string GetName()
    {
        return _name;
    }

    public double Salary
    {
        get { return _salary; }
    }
}

class PrivateTest
{
    static void Main()
    {
        var 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# 语言规范中的声明的可访问性。 该语言规范是 C# 语法和用法的权威资料。

另请参阅