private (C#-Referenz)private (C# Reference)

Das private-Schlüsselwort ist ein Zugriffsmodifizierer für Member.The private keyword is a member access modifier.

Auf dieser Seite deckt private Zugriff.This page covers private access. Die private -Schlüsselwort ist auch Teil der private protected Zugriffsmodifizierer.The private keyword is also part of the private protected access modifier.

Privater-Zugriff ist die am wenigsten eingeschränkte Zugriffsebene.Private access is the least permissive access level. Private Member sind nur innerhalb der Klasse oder Struktur, in der sie, wie im folgenden Beispiel, deklariert werden:Private members are accessible only within the body of the class or the struct in which they are declared, as in this example:

class Employee  
{  
    private int i;  
    double d;   // private access by default  
}  

Geschachtelte Typen im gleichen Text können auch auf diese privaten Member zugreifen.Nested types in the same body can also access those private members.

Es ist ein Kompilierzeitfehler auf einen privaten Member außerhalb der Klasse oder Struktur, in der sie deklariert ist, zu verweisen.It is a compile-time error to reference a private member outside the class or the struct in which it is declared.

Einen Vergleich von private mit den anderen Zugriffsmodifizierern finden Sie unter Zugriffsebenen und Zugriffsmodifizierer.For a comparison of private with the other access modifiers, see Accessibility Levels and Access Modifiers.

BeispielExample

In diesem Beispiel enthält die Employee-Klasse zwei private Datenmember, name und salary.In this example, the Employee class contains two private data members, name and salary. Als private Member können nur Membermethoden auf sie zugreifen.As private members, they cannot be accessed except by member methods. Die öffentlichen Methoden GetName und Salary werden hinzugefügt, um gesteuerten Zugriff auf die privaten Member zu ermöglichen.Public methods named GetName and Salary are added to allow controlled access to the private members. Auf den name-Member wird über eine öffentliche Methode zugegriffen, und auf den salary-Member wird über eine öffentliche schreibgeschützte Eigenschaft zugegriffen.The name member is accessed by way of a public method, and the salary member is accessed by way of a public read-only property. (Weitere Informationen finden Sie unter Eigenschaften.)(See Properties for more information.)

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#-ProgrammiersprachenspezifikationC# Language Specification

Weitere Informationen erhalten Sie unter C#-Sprachspezifikation. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.

Siehe auchSee Also

C#-ReferenzC# Reference
C#-ProgrammierhandbuchC# Programming Guide
C#-SchlüsselwörterC# Keywords
ZugriffsmodifiziererAccess Modifiers
ZugriffsebenenAccessibility Levels
ModifiziererModifiers
publicpublic
protectedprotected
internalinternal