src/DotNetCommon.Core/Extensions/EnumExtensions.cs
(开头部分) 16KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
namespace DotNetCommon.Extensions
{
/// <summary>
/// <seealso cref="Enum"/> 扩展类
/// </summary>
public static class EnumExtensions
{
/// <summary>
/// 将枚举转为由code、desc键值对组成的集合,<para></para>
/// 如: EnumTest{ [Description("A描述")]A, B, C},默认转换为: <para></para>
/// {<para></para>
/// (0,"A描述"),<para></para>
/// (1,"B"),<para></para>
/// (2,"C")<para></para>
/// }<para></para>
/// </summary>
/// <param name="item">枚举项</param>
/// <param name="useNameForKeyIfNoDescription">当枚举项上不存在[Description]特性时,是否使用枚举的Key值作为描述</param>
/// <remarks>枚举的code是数字,key是定义时的名称,desc是[Description]中的值</remarks>
/// <returns></returns>
public static List<(int code, string desc)> ToCodeDescriptionList(this System.Enum item, bool useNameForKeyIfNoDescription = true)
{
return item.ToCodeKeyDescriptionList(useNameForKeyIfNoDescription).Select(i => (i.code, i.desc)).ToList();
}
/// <summary>
/// 将枚举转为由code、key键值对组成的集合,<para></para>
/// 如: EnumTest{ [Description("A描述")]A, B, C},默认转换为: <para></para>
/// {<para></para>
/// (0,"A"),<para></para>
/// (1,"B"),<para></para>
/// (2,"C")<para></para>
/// }<para></para>
/// </summary>
/// <param name="item">枚举项</param>
/// <remarks>枚举的code是数字,key是定义时的名称,desc是[Description]中的值</remarks>
/// <returns></returns>
public static List<(int code, string key)> ToCodeKeyList(this System.Enum item)
{
return item.ToCodeKeyDescriptionList(false).Select(i => (i.code, i.key)).ToList();
}
/// <summary>
/// 将枚举转为由key、code键值对组成的集合,<para></para>
/// 如: EnumTest{ [Description("A描述")]A, B, C},默认转换为: <para></para>
/// {<para></para>
/// ("A",0),<para></para>
/// ("B",1),<para></para>
/// ("C",2)<para></para>
/// }<para></para>
/// </summary>
后面还有 342 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
