次の方法で共有


private (C# リファレンス)

private キーワードはメンバー アクセス修飾子です。

このページでは、 private アクセスについて説明します。 private キーワードは、private protected アクセス修飾子の一部でもあります。

プライベート アクセスは、最も制限の少ないアクセス レベルです。 プライベート メンバーは、次の例のように、クラスまたは宣言されている構造体の本体内でのみアクセスできます。

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

同じ本文内の入れ子になった型は、それらのプライベート メンバーにもアクセスできます。

クラスの外部または宣言されている構造体の外部でプライベート メンバーを参照するのはコンパイル時エラーです。

privateと他のアクセス修飾子の比較については、「アクセシビリティ レベルアクセス修飾子」を参照してください。

この例では、 Employee クラスには、 _name_salaryの 2 つのプライベート データ メンバーが含まれています。 プライベート メンバーは、メンバー メソッド以外ではアクセスできません。 プライベート メンバーへの制御されたアクセスを許可するために、 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# の構文と使用法の決定的なソースです。

こちらも参照ください