1.新建枚舉類
public enum ActionType
{
/// <summary>
/// 開
/// </summary>
[Description("開")]
OPEN = 1,
/// <summary>
/// 關
/// </summary>
[Description("關")]
CLOSE = 2,
/// <summary>
/// 移
/// </summary>
[Description("移")]
MOVE = 2,
}
2.定義獲取枚舉值方法
/// <summary>
/// 根據傳入的int返回對應枚舉屬性名稱
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="num">進制</param>
/// <returns></returns>
public static string GetEnumName<T>(int value)
{
string name = "";
name = Enum.Parse(typeof(T), Enum.GetName(typeof(T), value)).ToString();
return name;
}
/// <summary>
/// 根據傳入的枚舉屬性獲得對應值
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="value"></param>
/// <returns></returns>
public static int GetEnumValue<T>(string value)
{
Type type = typeof(T);
var schoolId = Enum.Format(type, Enum.Parse(type, value.ToUpper()), "d");
return Convert.ToInt32(schoolId);
}
3.調用
static void Main(string[] args)
{
string Name = GetEnumName<ActionType>(1); // 根據傳入的屬性值返回對應枚舉屬性名稱
int value = GetEnumValue<ActionType>("Open"); // 根據傳入的屬性名稱獲得對應值
int value1 = (int)ActionType.OPEN; // 直接使用枚舉類指定屬性值
Console.WriteLine($"Name:{Name}");
Console.WriteLine($"value:{value}");
Console.WriteLine($"value:{value1}");
Console.ReadLine();
}
4.結果

