在C#中从命令行自定义主要入口点参数

问题描述

我在网上某个地方看到有人在显示似乎是有效的C#代码。它允许将main方法中的自定义参数作为命令行参数传递。看起来像这样:

static void Main(FileInfo input,int maxSize = 9,bool someflag = false)
{
    // code
}

这可以在命令行中这样使用:

$ myApp hello_world.txt --maxSize 10 --someflag

这真的可行吗,还是有人拉我的腿?

解决方法

是的,您可以使用DragonFruit,它是dotnet CLI的(当前) alpha 功能。

string[]参数解释为行为已留给开发人员作为任务。用户是否寻求帮助?他们通过无效输入了吗?如果输入不是string,可以将输入转换为所需的类型吗?这些问题无法为您解决。

如果可以声明一个强类型的Main方法怎么办?这个问题导致创建名为“ DragonFruit”的实验应用程序模型,该模型允许您创建具有各种类型的多个参数并使用默认值的入口点[...]

这是一个教程: https://github.com/dotnet/command-line-api/blob/main/docs/Your-first-app-with-System-CommandLine-DragonFruit.md

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...