29 Ocak 2016

String ifadeyi "enum' a çevirmek.

using System;

namespace Console01
{
    static class Program
    {
        public static T ToEnum<T>(this string deger, T varsayilanDeger)
            where T : struct
        {
            if (string.IsNullOrEmpty(deger))
            {
                return varsayilanDeger;
            }

            T result;
            return Enum.TryParse<T>(deger, true, out result) ? result : varsayilanDeger;
        }
        static void Main(string[] args)
        {
            //Enuma çeivirirken eğer hata olursa Yonler.Belirsiz bizim varsayilan değerimiz olacak.
            Yonler akdeniz = "Guney".ToEnum(Yonler.Belirsiz);
            Yonler kafdagi = "Yukari".ToEnum(Yonler.Belirsiz);
            Console.WriteLine("akdeniz :{0}",akdeniz);
            Console.WriteLine("kafdagi :{0}", kafdagi);
            Console.ReadKey();
        }
     
        enum Yonler
        {
            Kuzey,
            Guney,
            Dogu,
            Bati,
            Belirsiz
        }
    }
     
}