SORU
17 ŞUBAT 2010, ÇARŞAMBA


Nasıl belirli bir öznitelik ile özelliklerinin bir listesini almak için?

Bir türü var, t ve öznitelik MyAttribute olan ortak özellikleri bir listesini almak istiyorum. Öznitelik böyle ** 5, işaretli

[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]

Şu anda ne var bu, ama daha iyi bir yol olduğunu düşünüyorum

foreach (PropertyInfo prop in t.GetProperties())
{
    object[] attributes = prop.GetCustomAttributes(typeof(MyAttribute), true);
    if (attributes.Length == 1)
    {
         //Property with my custom attribute
    }
}

Bunu nasıl geliştirebilirim? Özür dilerim oldukça ateşli bir tartışma var gibi eğer bu yinelenen, orada yansıma konuları bir ton var ise...gibi görünüyor.

CEVAP
17 ŞUBAT 2010, ÇARŞAMBA


var props = t.GetProperties().Where(
                prop => Attribute.IsDefined(prop, typeof(MyAttribute)));

Bu herhangi bir öznitelik örneklerini hayata geçiriyor önler (yani GetCustomAttribute[s]() daha ucuz.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • David Tedeyev

    David Tedeye

    20 AĞUSTOS 2011
  • Howard Pinsky

    Howard Pinsk

    6 AĞUSTOS 2006
  • Joseph Herscher

    Joseph Hersc

    14 Mart 2007