0
点赞
收藏
分享

微信扫一扫

c# Enum 枚举工具

 枚举

public enum TrueNameStatusEnum
{
未实名 = 0,
审核中 = 1,
已实名 = 2,
请修改=3
}

调用代码

Console.WriteLine("`````````根据数字获取枚举Name`````````");
//根据数字获取枚举Name
int _index = 1;
string name = _index.GetEnumName<TrueNameStatusEnum>();
Console.WriteLine($"枚举数字:{_index} 枚举字段名称:{name} ");

结果

`````````根据数字获取枚举Name`````````
枚举数字:1 枚举字段名称:审核中

核心代码

public static class EnumTools
{
#region Enum 枚举工具
/// <summary>
/// Enum 枚举类型转换为int类型
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="ParameterEnum"></param>
/// <returns></returns>
public static int EnumTypeConvertInt<T>(this T ParameterEnum)
{
Type InType = typeof(T);

foreach (var enumValue in InType.GetEnumValues())
{
if (enumValue.ToString() == ParameterEnum.ToString())
{
return (int)enumValue;
}
}
return -999999999;
}

/// <summary>
/// Enum 枚举类型转换为string类型
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="ParameterEnum"></param>
/// <returns></returns>
public static string EnumTypeConvertString<T>(this T ParameterEnum)
{
Type InType = typeof(T);
foreach (var enumName in InType.GetEnumNames())
{
if (enumName == ParameterEnum.ToString())
{
return enumName;
}
}
return "";
}
/// <summary>
/// 根据枚举的Name找到Value ,当返回值为null时未找到
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="ParameterEnum"></param>
/// <returns></returns>
public static int? GetEnumValue<T>(this string ParameterEnumName)
{
Type InType = typeof(T);

foreach (var enumValue in InType.GetEnumValues())
{
if (enumValue.ToString() == ParameterEnumName)
{
return (int)enumValue;
}
}
return null;
}
/// <summary>
/// 根据枚举的Value找到Name,当返回值为null时未找到
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="ParameterEnum"></param>
/// <returns></returns>
public static string GetEnumName<T>(this int ParameterEnumValue)
{
Type InType = typeof(T);
foreach (var enumValue in InType.GetEnumValues())
{
if ((int)enumValue == ParameterEnumValue)
{
return enumValue.ToString();
}
}
return null;
}
#endregion

}


举报

相关推荐

0 条评论