SORU
25 Kasım 2009, ÇARŞAMBA


Numaralama almak öznitelikleri'in değer

Eğer numaralama kendi numaralandırma değerleri ve nitelikleri elde etmenin mümkün olup olmadığını bilmek istiyorum? Örneğin, aşağıdaki numaralandırma olduğunu varsayalım:

enum FunkyAttributesEnum
{
[Description("Name With Spaces1")]
NameWithoutSpaces1,    
[Description("Name With Spaces2")]
NameWithoutSpaces2
}

İstediğim numaralama türü, numaralandırma dize değeri ve açıklaması 2-dizilerini üretmek verilir.

Değeri kolay oldu:

Array Values = System.Enum.GetValues(typeof(FunkyAttributesEnum));
foreach (int Value in Values)
    Tuple.Value = Enum.GetName(typeof(FunkyAttributesEnum), Value);

Ama nasıl açıklama özniteliği, Demet doldurmak için değeri alıyorum.Aza? Eğer Öznitelik numaralama kendisine ait olup olmadığını nasıl düşünebilirim, ama numaralama değerini almak için nasıl bir kayıp am.

CEVAP
25 Kasım 2009, ÇARŞAMBA


Bu ne ihtiyacınız var.

var type = typeof(FunkyAttributesEnum);
var memInfo = type.GetMember(FunkyAttributesEnum.NameWithoutSpaces1.ToString());
var attributes = memInfo[0].GetCustomAttributes(typeof(DescriptionAttribute),
    false);
var description = ((DescriptionAttribute)attributes[0]).Description;

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EEVblog2

    EEVblog2

    2 HAZİRAN 2014
  • Pál Zoltán Illés

    Pál Zoltán

    30 NİSAN 2007
  • Tylerron

    Tylerron

    6 AĞUSTOS 2006