开发工作中我们常用到"时间戳和时间"、"生成guid"、"模拟身份证号",来模拟数据校验和显示;每一次都去找在线工具,确实可以,但我觉得挺麻烦,于是乎想到了自定义一个命令行。
目前我已经实现以下功能:
Usage: [options] Options: -?|-about Show help information. -ts-now 当前时间戳 -ts 转换为时间戳 -t-now 当前时间 -t 转换为时间 -clear 清空 -echo 打印C#代码结果 -exit 退出 -guid-l 生成小写Guid -guid-u 生成大写Guid -snow 生成雪花id -id-no 随机身份证号
具体怎样实现呢?
- 创建控制台应用并安装nuget包
McMaster.Extensions.CommandLineUtils
dotnet add package McMaster.Extensions.CommandLineUtils --version 4.0.2
或
NuGet\Install-Package McMaster.Extensions.CommandLineUtils -Version 4.0.2
2. 创建命令
var app = new CommandLineApplication(); app.HelpOption("-?|-h|-help|-about"); var tsNow = app.Option("-ts-now", "当前时间戳", CommandOptionType.NoValue);
- 执行命令,
ExecuteUtils.Ts()为自定义方法
app.OnExecute(() => { if (tsNow.HasValue()) Console.WriteLine(ExecuteUtils.Ts()); }
以上就可以通过命令行参数执行相应代码了
参考官网:https://natemcmaster.github.io/CommandLineUtils/index.html