| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

差分

ナビゲーションに移動 検索に移動
1,384 バイト追加 、 2022年2月17日 (木) 12:01
<pre>
dotnet add package System.CommandLine --version 2.0.0-beta3.22111.2
</pre>
 
<pre>
using System;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.IO;
 
public class Program
{
static int Main(string[] args)
{
// Create a root command with some options
var rootCommand = new RootCommand
{
new Option<int>(
"--int-option",
getDefaultValue: () => 42,
description: "An option whose argument is parsed as an int"),
new Option<bool>(
"--bool-option",
"An option whose argument is parsed as a bool"),
new Option<FileInfo>(
"--file-option",
"An option whose argument is parsed as a FileInfo")
};
 
rootCommand.Description = "My sample app";
 
// Note that the parameters of the handler method are matched according to the names of the options
rootCommand.SetHandler<int, bool, FileInfo>((intOption, boolOption, fileOption) =>
{
Console.WriteLine($"The value for --int-option is: {intOption}");
Console.WriteLine($"The value for --bool-option is: {boolOption}");
Console.WriteLine($"The value for --file-option is: {fileOption?.FullName ?? "null"}");
});
 
// Parse the incoming args and invoke the handler
return rootCommand.InvokeAsync(args).Result;
}
}
</pre>

案内メニュー