yoshikazuendo
12/1/2014 - 5:10 AM

Enumに対する文字列を返す。 ここが参考になった。http://qiita.com/hugo-sb/items/38fe86a09e8e0865d471

Enumに対する文字列を返す。 ここが参考になった。http://qiita.com/hugo-sb/items/38fe86a09e8e0865d471

class Program
{
    static void Main(string[] args)
    {
        foreach (var enm in EnumUtil<Flute>.Enumerate())
        {
            Console.WriteLine("名称:" + enm.DisplayName());
        }
    }
}
static class FluteExt
{
    private static string[] names = { "みかん", "りんご", "ぶどう" };
    public static string DisplayName(this Flute enm)
    {
        return names[(int)enm];
    }
}
enum Flute
{
    /// <summary>
    /// みかん
    /// </summary>
    Orange,

    /// <summary>
    /// りんご
    /// </summary>
    Apple,

    /// <summary>
    /// ぶどう
    /// </summary>
    Grape,
}
public static class EnumUtil<T>
{
    public class EnumerateEnum
    {
        public IEnumerator<T> GetEnumerator()
        {
            foreach (T enm in Enum.GetValues(typeof(T)))
            {
                yield return enm;
            }
        }
    }

    public static EnumerateEnum Enumerate()
    {
        return new EnumerateEnum();
    }
}