https://www.toutiao.com/article/7272532825700844032/

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

项目地址
https://github.com/adamabdelhamed/PowerArgs

文档更新时间: 2023-09-23 06:10   作者:admin