private (C# Başvurusu)private (C# Reference)

private Anahtar sözcüğü bir üye erişim değiştiricisidir.The private keyword is a member access modifier.

Bu sayfa erişimi private içerir.This page covers private access. Anahtar sözcüğü ayrıca private protected erişim değiştiricisinin bir parçasıdır. privateThe private keyword is also part of the private protected access modifier.

Özel erişim en az izin veren erişim düzeyidir.Private access is the least permissive access level. Özel üyelere, bu örnekte olduğu gibi, yalnızca sınıfın gövdesinde veya bildirildiği yapı içinde erişilebilir: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
}

Aynı gövdedeki iç içe türler Ayrıca bu özel üyelere de erişebilir.Nested types in the same body can also access those private members.

Bu, sınıf veya bildirildiği yapı dışında özel bir üyeye başvuruda bulunmak için derleme zamanı hatasıdır.It is a compile-time error to reference a private member outside the class or the struct in which it is declared.

Diğer erişim değiştiricilerine private kıyasla, bkz. Erişilebilirlik düzeyleri ve erişim değiştiricileri.For a comparison of private with the other access modifiers, see Accessibility Levels and Access Modifiers.

ÖrnekExample

Bu örnekte, Employee sınıfı iki özel veri name üyesi içerir ve salary.In this example, the Employee class contains two private data members, name and salary. Özel Üyeler olarak, üye yöntemleri dışında erişilemez.As private members, they cannot be accessed except by member methods. GetName VeSalary adlı ortak Yöntemler, Özel üyelere denetimli erişime izin verecek şekilde eklenir.Public methods named GetName and Salary are added to allow controlled access to the private members. Üyeye ortak bir yöntem tarafından erişilir salary ve üyeye ortak bir salt okunurdur özelliği tarafından erişilir. nameThe name member is accessed by way of a public method, and the salary member is accessed by way of a public read-only property. (Daha fazla bilgi için bkz. Özellikler .)(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()
    {
        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# dili belirtimiC# language specification

Daha fazla bilgi için bkz. C# dil belirtiminde Erişilebilirlik bildirimi .For more information, see Declared accessibility in the C# Language Specification. Dil belirtimi, C# sözdizimi ve kullanımı için kesin bir kaynaktır.The language specification is the definitive source for C# syntax and usage.

Ayrıca bkz.See also