C# 6.0’da nameof() operatörü | sıcak çevrimiçi

Womanne

Member
Yeni C# operatörü adına() daha önce bir türün, sınıf üyesinin, ad alanının veya değişkenin adının bir karakter dizisi olarak kullanılması gereken tüm durumlara tür güvenliği getirir.


Visual Studio 14 CTP 3’te, yakında çıkacak olan C# 6.0 özelliklerinin güncel prototiplerini de bulacaksınız. Microsoft kısa süre önce operatörü ekledi isimler(x)işlenenin adı nedir X teslimat. İşlenen olarak izin verilir X Ben:

  • isimleri yazın
  • ad alanları
  • Yerel değişkenler
  • parametre
  • sınıf üyeleri
  • tip parametresi
Bu tarafından yapılır adına() yalnızca ilgili ad sağlanır. Üst düzey ad alanları veya tür adları dikkate alınmaz:

Console.WriteLine(nameof(Kunde)); // Liefert Kunde für die Klasse Kunde
Console.WriteLine(nameof(kunde)); // Liefert kunde für die Variable kunde
Console.WriteLine(nameof(Kunde.Ort)); // Liefert Ort
Console.WriteLine(nameof(Kunde.ToString)); // Liefert ToString
Console.WriteLine(nameof(List)); // Liefert List
Console.WriteLine(nameof(ITVisions.Demo)); // liefert Demo (Namensraum)

Bu özellik, bağımlılık özelliği bildirimleri, PropertyChanged olayları, ArgumentNull hataları ve daha önce program kodunda bir karakter dizisinin belirtilmesinin gerektiği diğer durumlar için çok kullanışlıdır. Bütün bu durumlarda, adına()– Operatör artık tip güvenliği ve yeniden düzenleme desteğine sahiptir.

Örnek 1:

// alt (vor C# 6.0)
if (kunde == null) throw new ArgumentNullException("kunde");
// C# 6.0
if (kunde == null) throw new ArgumentNullException(nameof(kunde));



Örnek 2:

// alt (vor C# 6.0)
public static readonly DependencyProperty OrtProperty =
DependencyProperty.Register("Ort", typeof(string),
typeof(Kunde));
// C# 6.0
public static readonly DependencyProperty LandProperty =
DependencyProperty.Register(nameof(Land), typeof(string),
typeof(Kunde));


Kullanıcı topluluğu, burada, burada ve burada olduğu gibi bu özelliği defalarca istedi. Microsoft, geçmişte uygulamayı her zaman reddetmiş olsa da (nedeni: “yeni dil özelliklerinin sayısını yönetilebilir bir düzeyde tutmak”), Microsoft, özellikle yeni .NET derleyici platformu “Roslyn” yeni dil özelliklerinin uygulanmasını basitleştirdiği için şimdi teslim oldu. dil özellikleri. ayrıntılar bir adına() C# ekibinin 9 Temmuz 2014 tarihli tasarım toplantısı notlarında bulunabilir.

C# 6.0 hala bir ön sürümdür. Henüz belirli bir çıkış tarihi yok. Bir olasılık, önümüzdeki yıl Visual Studio 2015 ile bir .NET Framework 5.0 olacak.


()



Haberin Sonu
 
Üst