ふと、C# (.NET) でコマンドラインオプションのパースはいまはどうやるのが定石なんだろうと思って調べてみた。
.NET – Parse the Command Line with System.CommandLine | Microsoft Learn
.NET プロジェクトが System.CommandLine パッケージをコミュニティベースで開発している。
dotnet add [<project>] System.CommandLine --prerelease
ちょっと面白いのが、DragonFruit という追加パッケージを入れることで、main メソッドのシグネチャからコマンドライン引数を作ることができる。この発想はなかった。
dotnet add [<project>] System.CommandLine.DragonFruit --prerelease
あとは Python の argparse でできるようなことはひととおりできそう。
System.CommandLine overview – .NET | Microsoft Learn
Tutorial: Get started with System.CommandLine – .NET | Microsoft Learn