Easy-DotNET Easy-DotNET
🏠首页
  • 知识地图
  • 源码脑图

    • 总览
    • Program
    • WebApplication
    • Host主机
    • WebHost主机
    • 依赖注入
    • Autofac
    • Middleware中间件
    • RateLimiter限制速率
    • 响应缓存、请求解压缩
  • 设计初衷
  • 克隆
  • 类型转换
  • 日期时间
  • IO流
  • 工具类
  • 语言特性
  • 集合类
  • Codec编码
  • 文本操作
  • 数学
  • 图片
  • 网络
  • Emoji表情
  • C# 12
  • C# 11
  • C# 10
  • C# 9.0
  • C# 8.0
  • C# 早期版本
  • C# 教程
  • ORM
  • 定时任务
  • 日志
  • 认证与授权
  • Swagger
  • 对象映射
  • 熔断重试限流
  • 缓存
  • 注册发现
  • 网关
  • GraphQL
  • 更多
  • Docker

    • 简介
    • Adminer
    • Apisix
    • Apollo
    • Cassandra
    • Cerebro
    • ClickHouse
    • Consul
    • EasyMock
    • Elasticsearch
    • Emqx
    • FastDFS
    • Flink
    • Gitlab
    • Jenkins
    • Jrebel
    • MariaDB
    • MySQL
    • Percona
    • Phpmyadmin
    • PostgreSQL
    • Redis
  • Linux

    • 查看Linux系统信息
    • CentOS7调整磁盘分区
    • IO压测
    • 图形化监控工具Cockpit
  • 总览
  • 列表

    • 算法数据结构
    • API
    • 应用框架
    • 应用模板
    • 操作系统
    • 工作流
    • 入门套件
    • 示例
    • 人工智能
    • 程序集
    • Assets
    • 认证授权
    • Blazor
    • 区块链
    • 书籍
    • 自动构建
    • 报表
    • 缓存
    • 日历
    • 聊天
    • CLI
    • CLR
    • CMS
    • 代码分析和指标
    • 代码片段
    • 压缩
    • 持续集成
    • 密码学
    • 数据库
    • 数据库驱动
    • 日期时间
    • 反编译
    • 部署
    • DirectX
    • 分布式计算
    • DLR
    • 文档
    • 电商支付
    • 模拟器
    • 环境管理
    • ETL
    • 事件消息
    • Exception
    • 扩展
    • 函数式编程
    • 游戏引擎
    • GIS
    • Git工具
    • 绘图
    • GraphQL
    • GUI
    • HTML-CSS
    • HTTP
    • IDE
    • 图片处理
    • 安装工具
    • 交互式编程
    • 国际化
    • 互操作性
    • IoC
    • JS引擎
    • 日志
    • 机器学习和数据科学
    • Markdown
    • 邮件
    • 数学
    • 媒体
    • 指标
    • 微型框架
    • 最小化器
    • MVVM
    • 网络
    • 对象映射
    • Office
    • OpenAI
    • ORM
    • 包管理器
    • PDF
    • 性能分析工具
    • 协议
    • 推送通知
    • SQL构建器
    • 消息队列
    • RPC
    • 响应式编程
    • 实时通信
    • 正则表达式
    • 任务调度
    • SDK和API
    • 搜索引擎
    • 序列化
    • SMS
    • 状态机
    • 静态站点生成
    • 强命名
    • 风格指南
    • 模板引擎
    • 测试
    • 工具
    • 交易
    • UI自动测试
    • Visual Studio 插件
    • Web浏览器
    • Web框架
    • WebServers
    • WebSocket
    • Windows服务
    • WPF
    • 解析器
    • 源码生成
    • 其他
    • 资源
  • AspNetCore面试题
  • Elasticsearch面试题
  • MongoDB面试题
  • MySql面试题
  • Nginx面试题
  • RabbitMQ面试题
  • Redis面试题
  • 设计模式
  • 微服务
🧑‍💻.NET Blog
GitHub (opens new window)
🏠首页
  • 知识地图
  • 源码脑图

    • 总览
    • Program
    • WebApplication
    • Host主机
    • WebHost主机
    • 依赖注入
    • Autofac
    • Middleware中间件
    • RateLimiter限制速率
    • 响应缓存、请求解压缩
  • 设计初衷
  • 克隆
  • 类型转换
  • 日期时间
  • IO流
  • 工具类
  • 语言特性
  • 集合类
  • Codec编码
  • 文本操作
  • 数学
  • 图片
  • 网络
  • Emoji表情
  • C# 12
  • C# 11
  • C# 10
  • C# 9.0
  • C# 8.0
  • C# 早期版本
  • C# 教程
  • ORM
  • 定时任务
  • 日志
  • 认证与授权
  • Swagger
  • 对象映射
  • 熔断重试限流
  • 缓存
  • 注册发现
  • 网关
  • GraphQL
  • 更多
  • Docker

    • 简介
    • Adminer
    • Apisix
    • Apollo
    • Cassandra
    • Cerebro
    • ClickHouse
    • Consul
    • EasyMock
    • Elasticsearch
    • Emqx
    • FastDFS
    • Flink
    • Gitlab
    • Jenkins
    • Jrebel
    • MariaDB
    • MySQL
    • Percona
    • Phpmyadmin
    • PostgreSQL
    • Redis
  • Linux

    • 查看Linux系统信息
    • CentOS7调整磁盘分区
    • IO压测
    • 图形化监控工具Cockpit
  • 总览
  • 列表

    • 算法数据结构
    • API
    • 应用框架
    • 应用模板
    • 操作系统
    • 工作流
    • 入门套件
    • 示例
    • 人工智能
    • 程序集
    • Assets
    • 认证授权
    • Blazor
    • 区块链
    • 书籍
    • 自动构建
    • 报表
    • 缓存
    • 日历
    • 聊天
    • CLI
    • CLR
    • CMS
    • 代码分析和指标
    • 代码片段
    • 压缩
    • 持续集成
    • 密码学
    • 数据库
    • 数据库驱动
    • 日期时间
    • 反编译
    • 部署
    • DirectX
    • 分布式计算
    • DLR
    • 文档
    • 电商支付
    • 模拟器
    • 环境管理
    • ETL
    • 事件消息
    • Exception
    • 扩展
    • 函数式编程
    • 游戏引擎
    • GIS
    • Git工具
    • 绘图
    • GraphQL
    • GUI
    • HTML-CSS
    • HTTP
    • IDE
    • 图片处理
    • 安装工具
    • 交互式编程
    • 国际化
    • 互操作性
    • IoC
    • JS引擎
    • 日志
    • 机器学习和数据科学
    • Markdown
    • 邮件
    • 数学
    • 媒体
    • 指标
    • 微型框架
    • 最小化器
    • MVVM
    • 网络
    • 对象映射
    • Office
    • OpenAI
    • ORM
    • 包管理器
    • PDF
    • 性能分析工具
    • 协议
    • 推送通知
    • SQL构建器
    • 消息队列
    • RPC
    • 响应式编程
    • 实时通信
    • 正则表达式
    • 任务调度
    • SDK和API
    • 搜索引擎
    • 序列化
    • SMS
    • 状态机
    • 静态站点生成
    • 强命名
    • 风格指南
    • 模板引擎
    • 测试
    • 工具
    • 交易
    • UI自动测试
    • Visual Studio 插件
    • Web浏览器
    • Web框架
    • WebServers
    • WebSocket
    • Windows服务
    • WPF
    • 解析器
    • 源码生成
    • 其他
    • 资源
  • AspNetCore面试题
  • Elasticsearch面试题
  • MongoDB面试题
  • MySql面试题
  • Nginx面试题
  • RabbitMQ面试题
  • Redis面试题
  • 设计模式
  • 微服务
🧑‍💻.NET Blog
GitHub (opens new window)
npm
  • 最全工具类

    • 设计初衷
  • 克隆

    • 对象克隆-CloneUtil
  • 类型转换

    • 类型转换-ConvertUtil
  • 日期时间

    • 日期工具-DateTimeUtil
    • 时间戳工具-TimestampUtil
    • 农历工具-LunarCalendarUtil
    • 计时器工具-TimerUtil
  • IO流

    • IO工具类-IoUtil
    • 文件工具类-FileUtil
    • 文件类型判断-FileTypeUtil
    • 文件监听-WatchMonitor
    • 文件跟随-Tailer
  • 工具类

    • 概述
    • 信息脱敏工具-DesensitizedUtil
    • 字符串工具-StrUtil
    • 16进制工具-HexUtil
    • Escape工具-EscapeUtil
    • Hash算法-HashUtil
    • URL工具-URLUtil
    • XML工具-XmlUtil
    • 对象工具-ObjectUtil
    • 反射工具-ReflectUtil
    • 泛型类型工具-TypeUtil
    • 分页工具-PageUtil
    • 类工具-ClassUtil
    • 程序集工具-DLLUtil
    • 枚举工具-EnumUtil
      • 简介
      • EasyTool. 类
        • GetNames-获取指定枚举类型的所有成员名称
        • GetValues-获取指定枚举类型的所有成员的值
        • GetName-获取指定枚举值的名称
        • IsDefined-检查指定的值是否是枚举类型TEnum的成员
        • Parse-将字符串转换为枚举类型TEnum的值
        • GetEnumType-获取指定枚举类型的Type对象
        • GetValuesDictionary-获取指定枚举类型的所有成员的名称和值的键值对
        • GetDescriptions-获取指定枚举类型的所有成员的注释
        • GetDescription-获取指定枚举类型的指定成员的注释
        • GetDisplayName-获取指定枚举类型的指定成员的Display名称
        • GetValueByName-获取指定枚举类型的指定成员的值
        • GetNameByValue-获取指定枚举类型的指定值的名称
        • GetDescriptionByValue-获取指定枚举类型的指定值的注释
        • GetDisplayNameByValue-获取指定枚举类型的指定值的Display名称
      • 使用示例
        • 输出结果
      • 参考文献
    • 环境工具-EnvUtil
    • 进程工具-ProcessUtil
    • 运行时工具-RuntimeUtil
    • 数字工具-NumberUtil
    • 数组工具-ArrayUtil
    • 随机工具-RandomUtil
    • 唯一ID工具-IdUtil
    • 压缩工具-ZipUtil
    • 正则工具-RegexUtil
    • 身份证工具-IdcardUtil
    • 社会信用代码工具-CreditCodeUtil
    • MEF加载工具-MEFUtil
  • 语言特性

    • 单例工具-SingletonUtil
    • 二进码十进数-BCDUtil
    • 树结构工具-TreeUtil
  • 集合类

    • 概述
    • 字典工具-DictionaryUtil
    • 列表工具-ListUtil
    • Iterator工具-IteratorUtil
    • 队列工具-QueueUtil
    • 堆栈工具-StackUtil
    • 双向链表-LinkedListUtil
  • Codec编码

    • Base62编码解码-Base62
    • Base64编码解码-Base64
    • Base32编码解码-Base32
    • 莫尔斯电码-Morse
    • BCD码-BCD
    • 回转N位密码-Rot
    • Punycode实现-PunyCode
  • 文本操作

    • CSV文件处理工具-CsvUtil
    • Unicode编码转换工具-UnicodeUtil
    • 字符串切割-StrSplitter
  • 数学

    • 数学相关-MathUtil
    • 数据预测-PredictUtil
  • 图片

    • 图片工具-ImgUtil
  • 网络

    • 网络工具-NetUtil
  • Emoji表情

    • Emoji工具-EmojiUtil
目录

枚举工具-EnumUtil

# 简介

枚举(enum)算一种“语法糖”,是指一个经过排序的、被打包成一个单一实体的项列表。一个枚举的实例可以使用枚举项列表中任意单一项的值。枚举在各个语言当中都有着广泛的应用,通常用来表示诸如颜色、方式、类别、状态等等数目有限、形式离散、表达又极为明确的量。

C#中的枚举(enum)是一种特殊的数据类型,用于定义具有固定值集合的变量。枚举类型可以将一组有限的整数值(枚举成员)赋予符号名称,这些符号名称称为枚举常量。

枚举的定义方式如下:

enum <枚举名称>
{
    <枚举常量1> = <值1>,
    <枚举常量2> = <值2>,
    ...
}

方法说明:

  • GetNames<TEnum>(): 获取指定枚举类型的所有成员名称。
  • GetValues<TEnum>(): 获取指定枚举类型的所有成员的值。
  • GetName<TEnum>(TEnum value): 获取指定枚举值的名称。
  • IsDefined<TEnum>(object value): 检查指定的值是否是枚举类型TEnum的成员。
  • Parse<TEnum>(string value): 将字符串转换为枚举类型TEnum的值。
  • Parse<TEnum>(string value, TEnum defaultValue): 将字符串转换为枚举类型- TEnum的值。如果字符串无法转换,则返回默认值。
  • GetEnumType<TEnum>(): 获取指定枚举类型的Type对象。
  • GetValuesDictionary<TEnum>(): 获取指定枚举类型的所有成员的名称和值的键值- 对。
  • GetDescriptions<TEnum>(): 获取指定枚举类型的所有成员的注释。
  • GetDescription<TEnum>(TEnum value): 获取指定枚举类型的指定成员的注释。
  • GetDisplayName<TEnum>(TEnum value): 获取指定枚举类型的指定成员的Display名- 称。
  • GetDisplayNames<TEnum>(): 获取指定枚举类型的所有成员的Display名称。
  • GetValueByName<TEnum>(string name): 获取指定枚举类型的指定值的名称。
  • GetNameByValue<TEnum>(TEnum value): 获取指定枚举类型的指定值的名称。
  • GetDescriptionByValue<TEnum>(TEnum value): 获取指定枚举类型的指定值的注- 释。
  • GetDisplayNameByValue<TEnum>(TEnum value): 获取指定枚举类型的指定值的Display名称。

# EasyTool. 类

静态工具类 ,除了包含基本的枚举操作方法外,还包括了一些针对枚举类型的attribute的处理方法。这个工具是根据常见的需求而编写的,但可能并不是完全全面的,因此你可以根据你自己的需求对其进行修改和扩展。

# GetNames-获取指定枚举类型的所有成员名称

/// <summary>
/// 获取指定枚举类型的所有成员名称
/// </summary>
/// <typeparam name="TEnum">要获取成员名称的枚举类型</typeparam>
/// <returns>所有成员名称的字符串数组</returns>
public static string[] GetNames<TEnum>()

# GetValues-获取指定枚举类型的所有成员的值

/// <summary>
/// 获取指定枚举类型的所有成员的值
/// </summary>
/// <typeparam name="TEnum">要获取成员值的枚举类型</typeparam>
/// <returns>所有成员值的数组</returns>
public static TEnum[] GetValues<TEnum>()

# GetName-获取指定枚举值的名称

/// <summary>
/// 获取指定枚举值的名称
/// </summary>
/// <typeparam name="TEnum">枚举类型</typeparam>
/// <param name="value">枚举值</param>
/// <returns>枚举值的名称</returns>
public static string GetName<TEnum>(TEnum value)

# IsDefined-检查指定的值是否是枚举类型TEnum的成员

/// <summary>
/// 检查指定的值是否是枚举类型TEnum的成员
/// </summary>
/// <typeparam name="TEnum">枚举类型</typeparam>
/// <param name="value">要检查的值</param>
/// <returns>如果指定的值是TEnum的成员,则为true;否则为false</returns>
public static bool IsDefined<TEnum>(object value)

# Parse-将字符串转换为枚举类型TEnum的值

/// <summary>
/// 将字符串转换为枚举类型TEnum的值
/// </summary>
/// <typeparam name="TEnum">枚举类型</typeparam>
/// <param name="value">要转换的字符串</param>
/// <returns>与字符串对应的枚举值</returns>
public static TEnum Parse<TEnum>(string value)

/// <summary>
/// 将字符串转换为枚举类型TEnum的值如果字符串无法转换,则返回默认值
/// </summary>
/// <typeparam name="TEnum">枚举类型</typeparam>
/// <param name="value">要转换的字符串</param>
/// <param name="defaultValue">默认值</param>
/// <returns>与字符串对应的枚举值,或默认值(如果字符串无法转换)</returns>
public static TEnum Parse<TEnum>(string value, TEnum defaultValue)

# GetEnumType-获取指定枚举类型的Type对象

/// <summary>
/// 获取指定枚举类型的Type对象
/// </summary>
/// <typeparam name="TEnum">枚举类型</typeparam>
/// <returns>枚举类型的Type对象</returns>
public static Type GetEnumType<TEnum>()

# GetValuesDictionary-获取指定枚举类型的所有成员的名称和值的键值对

/// <summary>
/// 获取指定枚举类型的所有成员的名称和值的键值对
/// </summary>
/// <typeparam name="TEnum">枚举类型</typeparam>
/// <returns>所有成员名称和值的键值对</returns>
public static IDictionary<string, TEnum> GetValuesDictionary<TEnum>()

# GetDescriptions-获取指定枚举类型的所有成员的注释

/// <summary>
/// 获取指定枚举类型的所有成员的注释
/// </summary>
/// <typeparam name="TEnum">枚举类型</typeparam>
/// <returns>所有成员注释的字典,其中键是成员名称,值是注释内容</returns>
public static IDictionary<string, string> GetDescriptions<TEnum>()

# GetDescription-获取指定枚举类型的指定成员的注释

/// <summary>
/// 获取指定枚举类型的指定成员的注释
/// </summary>
/// <typeparam name="TEnum">枚举类型</typeparam>
/// <param name="value">枚举成员</param>
/// <returns>成员注释的字符串</returns>
public static string GetDescription<TEnum>(TEnum value)

# GetDisplayName-获取指定枚举类型的指定成员的Display名称

/// <summary>
/// 获取指定枚举类型的指定成员的Display名称
/// </summary>
/// <typeparam name="TEnum">枚举类型</typeparam>
/// <param name="value">枚举成员</param>
/// <returns>成员的Display名称,如果未设置,则返回枚举成员的名称</returns>
public static string GetDisplayName<TEnum>(TEnum value)

/// <summary>
/// 获取指定枚举类型的所有成员的Display名称
/// </summary>
/// <typeparam name="TEnum">枚举类型</typeparam>
/// <returns>所有成员的Display名称的字典,其中键是成员名称,值是Display名称</returns>
public static IDictionary<string, string> GetDisplayNames<TEnum>()

# GetValueByName-获取指定枚举类型的指定成员的值

/// <summary>
/// 获取指定枚举类型的指定成员的值
/// </summary>
/// <typeparam name="TEnum">枚举类型</typeparam>
/// <param name="name">成员名称</param>
/// <returns>成员的值,如果成员不存在,则返回默认值</returns>
public static TEnum GetValueByName<TEnum>(string name)

# GetNameByValue-获取指定枚举类型的指定值的名称

/// <summary>
/// 获取指定枚举类型的指定值的名称
/// </summary>
/// <typeparam name="TEnum">枚举类型</typeparam>
/// <param name="value">枚举值</param>
/// <returns>与值对应的名称,如果值不存在,则返回null</returns>
public static string GetNameByValue<TEnum>(TEnum value)

# GetDescriptionByValue-获取指定枚举类型的指定值的注释

/// <summary>
/// 获取指定枚举类型的指定值的注释
/// </summary>
/// <typeparam name="TEnum">枚举类型</typeparam>
/// <param name="value">枚举值</param>
/// <returns>与值对应的注释,如果值不存在或未设置注释,则返回null</returns>
public static string GetDescriptionByValue<TEnum>(TEnum value)

# GetDisplayNameByValue-获取指定枚举类型的指定值的Display名称

/// <summary>
/// 获取指定枚举类型的指定值的Display名称
/// </summary>
/// <typeparam name="TEnum">枚举类型</typeparam>
/// <param name="value">枚举值</param>
/// <returns>与值对应的Display名称,如果值不存在或未设置Display名称,则返回null</returns>
public static string GetDisplayNameByValue<TEnum>(TEnum value)

# 使用示例

using System;
using EnumUtil;

public class Program
{
    enum Color
    {
        [Description("红色")]
        Red,
        [Description("绿色")]
        Green,
        [Description("蓝色")]
        Blue
    }

    static void Main(string[] args)
    {
        Console.WriteLine("GetNames<Color>():");
        foreach (var name in EnumUtil.GetNames<Color>())
        {
            Console.WriteLine(name);
        }

        Console.WriteLine();

        Console.WriteLine("GetValues<Color>():");
        foreach (var value in EnumUtil.GetValues<Color>())
        {
            Console.WriteLine(value);
        }

        Console.WriteLine();

        Console.WriteLine("GetName<Color>(Color.Red):");
        Console.WriteLine(EnumUtil.GetName<Color>(Color.Red));

        Console.WriteLine();

        Console.WriteLine("IsDefined<Color>(\"Green\"):");
        Console.WriteLine(EnumUtil.IsDefined<Color>("Green"));

        Console.WriteLine();

        Console.WriteLine("Parse<Color>(\"Blue\"):");
        Console.WriteLine(EnumUtil.Parse<Color>("Blue"));

        Console.WriteLine();

        Console.WriteLine("Parse<Color>(\"Yellow\", Color.Red):");
        Console.WriteLine(EnumUtil.Parse<Color>("Yellow", Color.Red));

        Console.WriteLine();

        Console.WriteLine("GetEnumType<Color>():");
        Console.WriteLine(EnumUtil.GetEnumType<Color>());

        Console.WriteLine();

        Console.WriteLine("GetValuesDictionary<Color>():");
        foreach (var kvp in EnumUtil.GetValuesDictionary<Color>())
        {
            Console.WriteLine($"{kvp.Key}: {kvp.Value}");
        }

        Console.WriteLine();

        Console.WriteLine("GetDescriptions<Color>():");
        foreach (var kvp in EnumUtil.GetDescriptions<Color>())
        {
            Console.WriteLine($"{kvp.Key}: {kvp.Value}");
        }

        Console.WriteLine();

        Console.WriteLine("GetDescription<Color>(Color.Green):");
        Console.WriteLine(EnumUtil.GetDescription<Color>(Color.Green));

        Console.WriteLine();

        Console.WriteLine("GetDisplayName<Color>(Color.Blue):");
        Console.WriteLine(EnumUtil.GetDisplayName<Color>(Color.Blue));

        Console.WriteLine();

        Console.WriteLine("GetDisplayNames<Color>():");
        foreach (var kvp in EnumUtil.GetDisplayNames<Color>())
        {
            Console.WriteLine($"{kvp.Key}: {kvp.Value}");
        }

        Console.WriteLine();

        Console.WriteLine("GetValueByName<Color>(\"Red\"):");
        Console.WriteLine(EnumUtil.GetValueByName<Color>("Red"));

        Console.WriteLine();

        Console.WriteLine("GetNameByValue<Color>(Color.Blue):");
        Console.WriteLine(EnumUtil.GetNameByValue<Color>(Color.Blue));

        Console.WriteLine();

        Console.WriteLine("GetDescriptionByValue<Color>(Color.Green):");
        Console.WriteLine(EnumUtil.GetDescriptionByValue<Color>(Color.Green));

        Console.WriteLine();

        Console.WriteLine("GetDisplayNameByValue<Color>(Color.Red):");
        Console.WriteLine(EnumUtil.GetDisplayNameByValue<Color>(Color.Red));
    }
}

# 输出结果

GetNames&lt;Color>():
Red
Green
Blue

GetValues&lt;Color>():
Red
Green
Blue

GetName&lt;Color>(Color.Red):
Red

IsDefined&lt;Color>("Green"):
True

Parse&lt;Color>("Blue"):
Blue

Parse&lt;Color>("Yellow", Color.Red):
Red

GetEnumType&lt;Color>():
Color

GetValuesDictionary&lt;Color>():
Red: Red
Green: Green
Blue: Blue

GetDescriptions&lt;Color>():
Red: 红色
Green: 绿色
Blue: 蓝色

GetDescription&lt;Color>(Color.Green):
绿色

GetDisplayName&lt;Color>(Color.Blue):
蓝色

GetDisplayNames&lt;Color>():
Red: Red
Green: Green
Blue: 蓝色

GetValueByName&lt;Color>("Red"):
Red

GetNameByValue&lt;Color>(Color.Blue):
Blue

GetDescriptionByValue&lt;Color>(Color.Green):
绿色

GetDisplayNameByValue&lt;Color>(Color.Red):
Red

# 参考文献

  • Microsoft Docs. (2021). Enum.TryParse Method. [online] Available at: - https://docs.microsoft.com/en-us/dotnet/api/system.enum.tryparse?- view=net-5.0 [Accessed 6 Apr. 2023].
  • Microsoft Docs. (2021). Enum Class. [online] Available at: https://docs.- microsoft.com/en-us/dotnet/api/system.enum?view=net-5.0 [Accessed 6 Apr. - 2023].
  • Microsoft Docs. (2021). Type.GetMembers Method. [online] Available at: - https://docs.microsoft.com/en-us/dotnet/api/system.type.getmembers?- view=net-5.0 [Accessed 6 Apr. 2023].
  • Microsoft Docs. (2021). Custom Attributes. [online] Available at: https://- docs.microsoft.com/en-us/dotnet/standard/attributes/?view=net-5.0 [Accessed 6 Apr. 2023].
上次更新: 2023/04/26, 22:10:06
程序集工具-DLLUtil
环境工具-EnvUtil

← 程序集工具-DLLUtil 环境工具-EnvUtil→

Theme by Vdoing | Copyright © 2019-2024 一个大西瓜 | MIT License | 苏ICP备2023013501号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式