SORU
16 Kasım 2008, Pazar


Neden C# korusun genel öznitelik türleri?

Bu derleme zamanı özel durumuna neden olur:

public sealed class ValidatesAttribute<T> : Attribute
{

}

[Validates<string>]
public static class StringValidation
{

}

C farkındayım# genel öznitelikleri desteklemiyor. Ancak, çok Googling sonra, nedenini bulmak için görünmüyor olabilir.

Herkes genel türleri Attribute kaynaklanıyor olamaz neden biliyor mu? Herhangi bir teori var mı?

CEVAP
16 Kasım 2008, Pazar


Evet, Kullanılabilir, ama ben değilim neden cevap verememolabilirCLİ bir sorun değil emin olun. CLİ spec bahsetmemiş (görebildiğim kadarıyla) ve IL doğrudan kullanırsanız, genel bir nitelik oluşturabilirsiniz. Bunu yasaklayan# 3 C spec bölümü - bölüm 10.1.4 "taban Sınıf belirtimi" herhangi bir gerekçe vermez.

Açıklamalı ECMA C# 2 spec yasak bir örnek sağlar, ancak herhangi bir yararlı bilgi de vermiyor.

# 3 açıklamalı C spec kopyamın yarın gelmesi lazım... eğer herhangi bir daha fazla bilgi verirse görüşürüz. Her neyse, kesinlikle dil bir karardan ziyade bir çalışma zamanı.

EDİT: Eric Lippert gelen Cevap () başka sözcüklerle ifade: özel bir sebebi yok, çok değer katmıyor olan bir dava için her iki dil ve derleyici karmaşıklığı önlemek için hariç.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Chanre Joubert

    Chanre Joube

    27 Temmuz 2012
  • DetroitBORG

    DetroitBORG

    29 Temmuz 2008
  • Motor Trend Channel

    Motor Trend

    11 Mart 2006