.NET开源项目PowerArgs,将命令行参数转换为.NET对象,让程序更方便!

19 阅读4分钟

使用DDD从零构建一个完整的系统

推荐一个.Net开源库,让命令行参数校验更加简单、方便。

01 项目简介

PowerArgs是一个开源的.NET库,用于将命令行参数转换为.NET对象,方便开发人员在程序中使用。它还额外提供很多功能,如参数校验、自动生成使用帮助和tab补全等,适用于任何使用命令行接口的.NET应用程序。

02 项目特点

1、将命令行参数转换为.NET对象:可以根据参数定义将命令行参数解析为.NET对象,使得程序可以更方便地使用命令行参数。

2、提供参数校验:可以对参数进行校验,确保参数满足指定的规则,如必填字段、数据类型和范围等。

3、自动生成使用帮助:可以根据参数的定义自动生成使用帮助文档,提供用户输入参数的指导。

4、支持tab补全:提供了命令行参数的tab补全功能,使得用户在输入参数时可以更方便地浏览和选择参数。

5、可扩展性:提供了丰富的扩展点,用户可以根据自己的需求自定义扩展,如自定义校验规则、自定义参数类型等。

03 使用方法

简单示例:

using PowerArgs;
public class MyArgs
{
//此参数是必需的,如果未指定,用户将提示。
    [ArgRequired(PromptIfMissing = true)]
public string StringArg { get; set; }
// 此参数不是必需的,但如果指定,则必须大于等于0且小于等于60
    [ArgRange(0, 60)]
    [ArgRequired(PromptIfMissing = true)]
public int IntArg { get; set; }
}
class Program
{
static void Main(string[] args)
    {
try
        {
var parsed = Args.Parse<MyArgs>(args);
            Console.WriteLine("输入的字符: '{0}' 、数值 '{1}'", parsed.StringArg, parsed.IntArg);
        }
catch (ArgException ex)
        {
            Console.WriteLine(ex.Message);
            Console.WriteLine(ArgUsage.GenerateUsageFromTemplate<MyArgs>());
        }
    }
}

输入正确截图:

每一个参数都明确的提示

图片

输入错误截图:

图片

**提示:**输入值必须大于等于0且小于等于60。

04 项目地址

github.com/adamabdelha…

- End -

推荐阅读

一款针对EF Core轻量级分表分库、读写分离的开源项目

推荐一个.Ner Core开发的配置中心开源项目

推荐一个.Net Core开发的Websocket群聊、私聊的开源项目

推荐一个日历转换开源工具库,支持C#、Java、PHP等主流的语言

一个支持.Net 7的WinForm开源UI组件框架