System.CommandLine选项Option

前一篇简单看了一下CommandLine命令的使用,其实在一个命令行工具中,还有一个重要的点,那就是选项——Option,选项是为命提供参数,就好像C#中方法,Command就像方法,Option就像方法的参数,说到参数就有参数类型,形参(形式参数名称),同理,CommandLine也有,看一个带Option的例子:

//创建根命令
var rootCommand = new RootCommand("这是一个命令行工具:旦猫");
rootCommand.SetHandler(() =>
{Console.WriteLine("欢迎使用《旦猫》");
});
//创建子命令 show
var showCommand = new Command("show", "显示一些信息");
//创建子命令选项 times 别名 t
var timesOption = new Option<int>(name: "--times", description: "显示的次数", getDefaultValue: () => 1)
{IsHidden = true,
};
timesOption.AddAlias("-t");
//添加选项到show命令中
showCommand.AddOption(timesOption);
//设置命令show执行的动作,这是带上times参数,类型为整型
showCommand.SetHandler((int times) =>
{for (var i = 0; i < times; i++){Console.WriteLine($"这是《旦猫》的show命令,显示次数={i}");}
}, timesOption);
//添加命令show到 根命令中
rootCommand.Add(showCommand);
await rootCommand.InvokeAsync(args);

选项可以添加别,添加描述,设置默认值 ,还设置是否可以隐藏,或是必填,选项会在命令的执行方法SetHandler接收。

运行结果,-t 5,循环5次;如果选项参数的类型不对,会有提示;不输入选项参数,默认直为1,这里很友好的提供了一个Func<int>,而不是一个值,因为这个默认值可能依赖其他资源信息计算出来,而不是一个常量。

def1c08722bb64def166e537e57f7040.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/286243.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

长尾关键词如何优化

长尾关键词流量占据全站流量的80%&#xff0c;这是根据御梵景观后台数据得出来的结论&#xff0c;千万不要以为泛关键词给网站带来的流量大&#xff0c;打个比方花园设计一天带100个 流量&#xff0c;但是花园设计案例带10个&#xff0c;花园设计效果图带10个&#xff0c;花园设…

【ArcGIS风暴】ArcGIS10.6栅格计算器(Raster Calculator)用法详解

扩展阅读: 【ArcGIS风暴】ArcGIS 10.2栅格计算器实用公式大全(经典珍藏版) 【ArcGIS风暴】栅格计算器(Raster Calculator)运算出现错误问题及解决方案汇总 文章目录 1. 栅格计算器简介2. 栅格计算器用法3. 简单算术运算4. 数学函数运算5. 空间分析函数运算1. 栅格计算器简…

C语言试题二十九之编写函数int function(int lim,int aa[max])求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求的素数的个数。

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 编写函数i…

三、登录页制作《iVX低代码/无代码个人博客制作》

注&#xff1a;iVX也有免费直播课《第八期直播课》 一、登录页实现 本节需要做的登录页如下&#xff1a; 该页面我们复习可以的值&#xff0c;首先设置整个页面页面的垂直和水平对其为居中&#xff0c;随后一个容器包裹对应的登录区域&#xff0c;此时我们创建一个页面命名为…

Android ContentProvider支持跨进程数据共享与互斥、同步 杂谈

在开发中&#xff0c;假如&#xff0c;A、B进程有部分信息需要同步&#xff0c;这个时候怎么处理呢&#xff1f;设想这么一个场景&#xff0c;有个业务复杂的Activity非常占用内存&#xff0c;并引发OOM&#xff0c;所以&#xff0c;想要把这个Activity放到单独进程&#xff0c…

【C#控件详解】对话框类控件(打开文件,保存文件,选择字体和颜色)

在实际应用中,我们会用到各种各样的对话框,如打开文件,保存文件,选择字体和颜色等等。本文详细讲解C#中的颜色对话框、打开文件对话框、字体对话框、浏览文件夹对话框和保存文件对话框。 文章目录 1. ColorDialog对话框2. FolderBrowserDialog对话框3. FontDialog对话框4. …

动物界的再生一个故事

猪月薪5千&#xff0c;打算用20万建一个窝&#xff0c;老虎不允许&#xff0c;说私自建就是违章建筑&#xff0c;只允许向狼买。 狼是搞工程的&#xff0c;先用20万贿赂老虎取得开发权&#xff0c;再用50万元向老虎买这块地&#xff0c; 花10万元把猪圈盖好&#xff0c;向猪要价…

C语言试题三十之请编写函数function对长度位7个字符的字符串,除首尾字符外,将其余5个字符按ascii码降序排列。

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 请编写函数…

基于.NetCore开发博客项目 StarBlog - (11) 实现访问统计

系列文章基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客&#xff1f;基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目基于.NetCore开发博客项目 StarBlog - (3) 模型设计基于.NetCore开发博客项目 StarBlog - (4) markdown博客批量导入基于.N…

【SPSS统计分析】SPSS19.0简体中文版安装教程(附SPSS19.0简体中文版下载)

spss19.0中文版是一款专业数据统计软件,受到各种社会学科的研究生、研究员的欢迎。软件能够对信息的采集、处理、分析进行全面评估和预测。spss19.0中文版新增加了广义线性混合模型、自动线性模型、一个统计网页入口portal和直复营销direct marketing功能等。另外,IBM 针对SP…

Java 比较两个版本号的大小 (通用)

/*** 版本号比较** param v1* param v2* return 0代表相等&#xff0c;1代表左边大&#xff0c;-1代表右边大* Utils.compareVersion("1.0.358_20180820090554","1.0.358_20180820090553")1*/public static int compareVersion(String v1, String v2) {if …

四、登录注册页功能实现《iVX低代码/无代码个人博客制作》

注&#xff1a;iVX也有免费直播课《第八期直播课》 首先打开在线编辑器进入我们的项目&#xff1a;https://editor.ivx.cn/ 一、登录页功能实现 上一节中已经完成了登录页的页面制作&#xff0c;那么这一节就开始对应的完成登录页的功能实现。 登录页的功能实现主要是对用户…

Oracle 12c应用连接VIP轮训负载均衡?

目前很多生产数据库都是两节点RAC&#xff0c;应用连接的数据库通常会连接SCAN IP或者VIP,这里做一个小实验&#xff0c;如果我们使用VIP连接&#xff0c; 应该怎样配置我们的客户端&#xff0c;负载均衡是否是严格意义上的轮训机制&#xff0c;只有通过自己的测试才能得到准备…

C语言试题三十一之判断字符串是否为回文?若是则函数返回1,主函数中输出yes,否则返回0,主函数中输出no。回文是指顺读和倒读都是一样的字符串。

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 请编写函数…

关于html5

html5 是用来 将 js 和 css 结合起来 从而实现 各种功能 javascript 用来定义 html5 页面的逻辑 css 来定义 html5 中的显示样式

【SignalR全套系列】之在.Net6中实现SignalR分组通信

微信公众号&#xff1a;趣编程ACE关注可了解更多的.NET日常实战开发技巧&#xff0c;如需源码 请公众号后台留言 源码;[如果觉得本公众号对您有帮助&#xff0c;欢迎关注]前文回顾【SignalR全套系列】之在.Net6中实SignalR通信SignalR中给客户端分组调用演示服务端代码实现1.Pr…

【ArcGIS风暴】中国756个气象台站分布Shapefile数据下载

在写论文时,通常要做研究区概况图,需要添加气象站点分布,或者在做气温或降水空间插值时,需要将气温和降水数据链接到气象台站上。气象数据通常可以到资源环境科学与数据中心去下载,为了使用的方便,本文分享中国区域756个气象台站shp格式矢量数据,如果你的研究区是西北五…

web上传大文件的配置

1、项目本身的webconfig 在<system.web>字段下 <httpRuntime targetFramework"4.5" requestLengthDiskThreshold"256" maxRequestLength"1000000000" executionTimeout"120"/> 2、找到C:\Windows\System32\inetsrv\confi…

七、文章管理页面及功能实现《iVX低代码/无代码个人博客制作》

注&#xff1a;iVX也有免费直播课《第八期直播课》 一、文章管理页页面制作 文章管理页的基本结构与首页类似&#xff0c;我们复制一个首页&#xff0c;并且重命名首页的名称为文章管理页&#xff1a; 我们接着删除如下图所框选部分内容&#xff1a; 接着重命名导航为内容…

Android 发起加入QQ群、打开网址、启动拨打电话界面

/****************** 发起添加群流程。 ** param key 由官网生成的key* return 返回true表示呼起手Q成功&#xff0c;返回fals表示呼起失败******************/public static void joinQQGroup(Activity _this, String key){Intent intent new Intent();intent.setData(Ur…