EnumUtility

public static class EnumUtility
{
    /// <summary>
    /// 열거형에 대한 인덱스 번호를 리턴합니다.
    /// </summary>
    /// <typeparam name="T">열거형</typeparam>
    /// <param name="value">값</param>
    /// <returns>인덱스</returns>
    public static int IndexOf<T>(this T value)
    {
        return Array.IndexOf(Enum.GetValues(typeof(T)), value);
    }

    /// <summary>
    /// 인덱스 번째에 해당합는 값을 리턴합니다.
    /// </summary>
    /// <typeparam name="T">열거형</typeparam>
    /// <param name="index">인덱스</param>
    /// <returns>값</returns>
    public static T ValueOf<T>(this int index)
    {
        return (T)Enum.GetValues(typeof(T)).GetValue(index);
    }
}

 

답글 남기기