private (C# 參考)
private
關鍵字是成員存取修飾詞。
此頁面涵蓋
private
存取。private
關鍵字也是屬於private protected
存取修飾詞。
私用存取是最嚴格的存取層級。 私用成員只能在宣告它們的類別主體或結構主體內存取,如本範例所示:
class Employee
{
private int _i;
double _d; // private access by default
}
相同主體內的巢狀型別也可以存取這些私用成員。
在宣告私用成員的類別或結構外部參考私用成員是編譯時期錯誤。
如需 private
和其他存取修飾詞的比較,請參閱存取範圍層級和存取修飾詞。
範例
在此範例中,Employee
類別包含兩個私用資料成員:_name
和 _salary
。 作為私用成員,只有成員方法能加以存取。 因此會新增名為 GetName
和 Salary
的公用方法,以允許對這些私用成員的控制存取。 _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# 語法及用法的限定來源。