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);
}
}