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.
namespace İlgili nesneler kümesini içeren bir kapsam bildirmek için anahtar sözcüğünü kullanın. Kod öğelerini düzenlemek ve genel olarak benzersiz türler oluşturmak için bir ad alanı kullanın.
namespace SampleNamespace
{
class SampleClass { }
interface ISampleInterface { }
struct SampleStruct { }
enum SampleEnum { a, b }
delegate void SampleDelegate(int i);
namespace Nested
{
class SampleClass2 { }
}
}
Dosya kapsamlı ad alanı bildirimleri , bir dosyadaki tüm türlerin tek bir ad alanında olduğunu bildirmenizi sağlar. Aşağıdaki örnek önceki örneğe benzer ancak dosya kapsamlı bir ad alanı bildirimi kullanır:
using System;
namespace SampleFileScopedNamespace;
class SampleClass { }
interface ISampleInterface { }
struct SampleStruct { }
enum SampleEnum { a, b }
delegate void SampleDelegate(int i);
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.
Dosya kapsamlı ad alanında deyimleri kullanma
using aşağıdaki gibi belirler:
- Deyimleri dosya kapsamlı ad alanı bildiriminden önce yerleştirirseniz
using, bunlar ad alanının dışında kabul edilir ve tam ad alanları olarak yorumlanır. - Deyimleri dosya kapsamlı ad alanı bildiriminden sonra yerleştirirseniz
using, bunların kapsamı ad alanının içinde olur.
Örneğin:
// This using is outside the namespace scope, so it applies globally
using System;
namespace SampleNamespace; // File-scoped namespace declaration
// This using is inside the namespace scope
using System.Text;
public class SampleClass
{
// Class members...
}
Yukarıdaki örnekte, System genel olarak erişilebilirken, System.Text yalnızca SampleNamespaceiçinde geçerlidir.
Yukarıdaki örnekte iç içe bir ad alanı yoktur. Dosya kapsamlı ad alanları daha fazla ad alanı bildirimi içeremez. İç içe bir ad alanı veya ikinci bir dosya düzeyinde ad alanı bildiremezsiniz.
namespace SampleNamespace;
class AnotherSampleClass
{
public void AnotherSampleMethod()
{
System.Console.WriteLine(
"SampleMethod inside SampleNamespace");
}
}
namespace AnotherNamespace; // Not allowed!
namespace ANestedNamespace // Not allowed!
{
// declarations...
}
Bir ad alanı içinde, aşağıdaki türlerden sıfır veya daha fazlasını bildirebilirsiniz:
- class
- interface
- struct
- enum
- delegate
- dosya kapsamlı ad alanı bildirimleri dışında iç içe yerleştirilmiş ad alanları bildirilebilir
Derleyici varsayılan bir ad alanı ekler. Bazen genel ad alanı olarak da adlandırılan bu adsız ad alanı her dosyada bulunur. Bildirilen ad alanına dahil olmayan bildirimleri içerir. Genel ad alanı içindeki tüm tanımlayıcılar adlandırılmış ad alanında kullanılabilir.
Ad alanlarının örtük olarak genel erişimi vardır. Ad alanındaki öğelere atayabileceğiniz erişim değiştiricilerinin tartışması için bkz . Erişim Değiştiricileri.
İki veya daha fazla bildirimde ad alanı tanımlamak mümkündür. Örneğin, aşağıdaki örnek ad alanının bir parçası MyCompany olarak iki sınıfı tanımlar:
namespace MyCompany.Proj1
{
class MyClass
{
}
}
namespace MyCompany.Proj1
{
class MyClass1
{
}
}
Aşağıdaki örnekte, iç içe bir ad alanında statik yöntemin nasıl çağrılacakları gösterilmektedir.
namespace SomeNameSpace
{
public class MyClass
{
static void Main()
{
Nested.NestedNameSpaceClass.SayHello();
}
}
// a nested namespace
namespace Nested
{
public class NestedNameSpaceClass
{
public static void SayHello()
{
Console.WriteLine("Hello");
}
}
}
}
// Output: Hello
C# dili belirtimi
Daha fazla bilgi için C# dil belirtiminin Ad Alanları bölümüne bakın. Dosya kapsamlı ad alanı bildirimleri hakkında daha fazla bilgi için özellik belirtimine bakın.