Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Anahtar private sözcük bir üye erişim değiştiricidir.
Bu makale erişim konularını kapsar
private. Anahtarprivatesözcüğü de erişim değiştiricisininprivate protectedbir parçasıdır.
C# dili başvuru belgesi, C# dilinin en son yayımlanan sürümünü gösterir. Ayrıca, yaklaşan dil sürümü için genel önizlemelerdeki özelliklere yönelik ilk belgeleri içerir.
Belgelerde ilk olarak dilin son üç sürümünde veya geçerli genel önizlemelerde sunulan tüm özellikler tanımlanır.
Tavsiye
Bir özelliğin C# dilinde ilk tanıtıldığı zamanları bulmak için C# dil sürümü geçmişi makalesine bakın.
Özel erişim en az izinli erişim düzeyidir. Aşağıdaki örnekte gösterildiği gibi özel üyelere yalnızca sınıfın gövdesinde veya bunları bildirdiğiniz yapıda erişebilirsiniz:
class Employee
{
private int _i;
double _d; // private access by default
}
Aynı gövdedeki iç içe türler de bu özel üyelere erişebilir.
Sınıfın veya bildirdiğiniz yapının dışındaki bir özel üyeye başvurursanız, derleyici bir hata döndürür.
Diğer erişim değiştiricileriyle karşılaştırması private için bkz . Erişilebilirlik Düzeyleri ve Erişim Değiştiricileri.
Bu örnekte sınıfı Employee iki özel veri üyesi _name ve _salaryiçerir. Özel üyeler olarak üye yöntemleri bunlara erişmenin tek yoludur. Örnek, özel üyelere denetimli erişime izin vermek için ve Salary adlı GetName genel yöntemleri ekler. Üyeye _name ortak bir yöntemle erişilir ve üyeye _salary genel salt okunur bir özellik yoluyla erişilir. Daha fazla bilgi için bkz. özellikler .
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# dil belirtimi
Daha fazla bilgi için bkz. C# Dil Belirtimi'ndebildirilen erişilebilirlik. Dil belirtimi, C# söz dizimi ve kullanımı için kesin kaynaktır.