Enum Lookup

Enum Lookup, bir enum türünde bulunan sabitlerin daha geniş bir anlamda ilişkilendirilmesi veya sınıflandırılması gerektiği durumlarda kullanışlı olur. Enum Lookup, enum sabitlerini belirli bir kategorilendirme veya gruplama altında toplamak ve bu gruplara erişmek için kullanılan bir yapıdır.

Bir enum ve bu enum için bir Lookup sınıfı  örneği

public enum YerlesimYeri

{

    Belirtilmemis,

    Koy,

    Kasaba,

    Sehir

}

 

public static class YerlesimYeriLookup

{

    private static Dictionarystring> _yerlesimYerleri = new Dictionarystring>()

    {

        { YerlesimYeri.Belirtilmemis, "Belirtilmemiş" },

        { YerlesimYeri.Koy, "Köy" },

        { YerlesimYeri.Kasaba, "Kasaba" },

        { YerlesimYeri.Sehir, "Şehir" }

    };

 

    public static string GetDisplayName(YerlesimYeri yerlesimYeri)

    {

        return _yerlesimYerleri[yerlesimYeri];

    }

 

    public static IEnumerable<string> GetDisplayNames()

    {

        return _yerlesimYerleri.Values;

    }

 

    public static YerlesimYeri GetValueFromDisplayName(string displayName)

    {

        return _yerlesimYerleri.FirstOrDefault(x => x.Value == displayName).Key;

    }

 

    public static IEnumerable GetValues()

    {

        return Enum.GetValues(typeof(YerlesimYeri)).Cast();

    }

}

Telefon +90 505 747 42 84
Email info@devedijital.com
Adres
Tacettin Veli Mahallesi Halit Narin Caddesi Bahadır Plaza Kat:11 Daire:41 38230 Deve Dijital Melikgazi/Kayseri/Türkiye