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.
Üyenin erişilebilirlik etki alanı, bu üyeye başvurabileceğiniz program bölümlerini belirtir. Üye başka bir tür içinde iç içe yerleştirilmişse, üyenin erişilebilirlik düzeyi ve hemen içeren türün erişilebilirlik etki alanı, erişilebilirlik etki alanını belirler.
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.
Üst düzey bir türün erişilebilirlik etki alanı her zaman en azından bildirdiğiniz projenin program metnini içerir. Başka bir deyişle, etki alanı projedeki tüm kaynak dosyaları içerir. İç içe türün erişilebilirlik etki alanı her zaman en azından bildirdiğiniz türdeki program metnini içerir. Başka bir deyişle, etki alanı tüm iç içe türleri içeren tür gövdesidir. İç içe türün erişilebilirlik etki alanı hiçbir zaman içeren türün etki alanını aşmaz. Aşağıdaki örnekte bu kavramlar gösterilmektedir.
Bu örnek, bir üst düzey türü, T1ve iki iç içe sınıf M1 ve M2içerir. Sınıflar, farklı bildirilen erişim özelliklerine sahip alanlar içerir. yönteminde Main bir açıklama, her üyenin erişilebilirlik etki alanını belirtmek için her deyimi izler. Erişilemeyen üyelere başvurmaya çalışan deyimler açıklama satırı yapılır. Erişilemeyen bir üyeye başvurmanın neden olduğu derleyici hatalarını görmek istiyorsanız, açıklamaları birer birer kaldırın.
public class T1
{
public static int publicInt;
internal static int internalInt;
private static int privateInt = 0;
static T1()
{
// T1 can access public or internal members
// in a public or private (or internal) nested class.
M1.publicInt = 1;
M1.internalInt = 2;
M2.publicInt = 3;
M2.internalInt = 4;
// Cannot access the private member privateInt
// in either class:
// M1.privateInt = 2; //CS0122
}
public class M1
{
public static int publicInt;
internal static int internalInt;
private static int privateInt = 0;
}
private class M2
{
public static int publicInt = 0;
internal static int internalInt = 0;
private static int privateInt = 0;
}
}
class MainClass
{
static void Main()
{
// Access is unlimited.
T1.publicInt = 1;
// Accessible only in current assembly.
T1.internalInt = 2;
// Error CS0122: inaccessible outside T1.
// T1.privateInt = 3;
// Access is unlimited.
T1.M1.publicInt = 1;
// Accessible only in current assembly.
T1.M1.internalInt = 2;
// Error CS0122: inaccessible outside M1.
// T1.M1.privateInt = 3;
// Error CS0122: inaccessible outside T1.
// T1.M2.publicInt = 1;
// Error CS0122: inaccessible outside T1.
// T1.M2.internalInt = 2;
// Error CS0122: inaccessible outside M2.
// T1.M2.privateInt = 3;
// Keep the console open in debug mode.
System.Console.WriteLine("Press any key to exit.");
System.Console.ReadKey();
}
}
C# Dil Belirtimi
Daha fazla bilgi edinmek için, bkz. C# Dil Belirtimi. Dil belirtimi, C# söz dizimi ve kullanımı için kesin kaynaktır.