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.
İfade nameof , dize sabiti olarak bir değişkenin, türün veya üyenin adını üretir. bir nameof ifade derleme zamanında değerlendirilir ve çalışma zamanında hiçbir etkisi yoktur. İşlenen bir tür veya ad alanı olduğunda, üretilen ad tam olarak nitelenmemiştir.
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.
Aşağıdaki örnekte ifadenin nasıl kullanılacağı gösterilmektedir nameof :
Console.WriteLine(nameof(System.Collections.Generic)); // output: Generic
Console.WriteLine(nameof(List<int>)); // output: List
Console.WriteLine(nameof(List<>)); // output: List
Console.WriteLine(nameof(List<int>.Count)); // output: Count
Console.WriteLine(nameof(List<int>.Add)); // output: Add
List<int> numbers = new List<int>() { 1, 2, 3 };
Console.WriteLine(nameof(numbers)); // output: numbers
Console.WriteLine(nameof(numbers.Count)); // output: Count
Console.WriteLine(nameof(numbers.Add)); // output: Add
kullanan önceki örnek List<> C# 14 ve sonraki sürümlerde desteklenir. Bağımsız değişken denetimi kodunu daha sürdürülebilir hale getirmek için bir nameof ifade kullanabilirsiniz:
public string Name
{
get => name;
set => name = value ?? throw new ArgumentNullException(nameof(value), $"{nameof(Name)} cannot be null");
}
Bir nameof yöntem veya parametresindeki özniteliğin içinde yöntem parametresi olan bir ifade kullanabilirsiniz. Aşağıdaki kod bir yöntem, yerel işlev ve lambda ifadesinin parametresi üzerindeki bir öznitelik için bunun nasıl yapılacağını gösterir:
[ParameterString(nameof(msg))]
public static void Method(string msg)
{
[ParameterString(nameof(T))]
void LocalFunction<T>(T param) { }
var lambdaExpression = ([ParameterString(nameof(aNumber))] int aNumber) => aNumber.ToString();
}
nameof Parametresi olan bir ifade, null atanabilir analiz özniteliklerini veya CallerArgumentExpression özniteliğini kullandığınızda kullanışlıdır.
İşlenen bir düz metin tanımlayıcısı olduğunda, @ aşağıdaki örnekte gösterildiği gibi karakter adın bir parçası değildir:
var @new = 5;
Console.WriteLine(nameof(@new)); // output: new
C# dili belirtimi
Daha fazla bilgi için C# dil belirtimininNameof ifadeleri bölümüne ve Genişletilmiş nameof kapsam özellik belirtimine bakın.