Tek Fotoluk İpucu 87–Enum Sabitleri ile Attribute Kullanımı

Merhaba Arkadaşlar,

Bazen uygulamalarımızda kullandığımız Enum sabitlerinin içerikleri anlaşılabilir kelimelerden oluşmayabilir. Örneğin AR101,BR103 isimli Enum değerleri çalışma zamanında nasıl yorumlanabilirler. Mantıklı isimler verebilecek olsak da bazen bu değerler sistemin kendisi için anlamlı olabilirler. Ancak dilerseniz enum sabiti değerlerini, kendi geliştireceğiniz nitelikler(Attribute) ile donatabilir ve çalışma zamanına ek bilgiler sunabilirsiniz. Hem de basit bir extension metod yardımıyla bu fonksiyonelliğin kolayca ulaşılabilir olmasını sağlayabilirsiniz. Nasıl mı? İşte size bir örnek Winking smile

tfii_87

Bir başka ipucunda görüşmek dileğiyle Winking smile

Yorumlar (1) -

  • Her enum için neden ayrı bir fonksiyon yazıyoruz hocam ?
    Aşağıdaki gibi bir genel fonksiyon yazsak işimizi daha rahat göremez miyiz  

    public static string DescriptionAttr<T>(this T source)
            {
                FieldInfo fi = source.GetType().GetField(source.ToString());

                DescriptionAttribute[] attributes = (DescriptionAttribute[])fi.GetCustomAttributes(
                    typeof(DescriptionAttribute), false);

                if (attributes != null && attributes.Length > 0) return attributes[0].Description;
                else return source.ToString();
            }

Yorum ekle

Loading