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 成員則是透過公用唯讀屬性存取 如需詳細資訊,請參閱 屬性中定義的介面的私用 C++ 專屬實作。

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# 語法及用法的限定來源。

另請參閱