Комментарии 7
Статья уж очень примитивна. Хотелось бы увидеть и другие проекты, сравнение, использование. Возможно + и -. Например рассмотреть Mono.Options (используется в Xamarin?), Microsoft.Extensions.Configuration. CommandLine (вроде тоже от Microsoft), System.CommandLine
+5
В копилку можно добавить проект CommandLineUtils
0
А также CommandLineParser
0
Самое интересное в таких приложениях — это то, как реализована вложеная иерархия команд. Когда у тебя всего одно действие, то подойдет обычный линейный тип CommandLineOptions. Но что делать, с десятками команд, которые должны быть инкапсулированы, разрабатываться отдельно и которые содержат кучу опций?
Если смотреть на исходный код CLI dotnet, то там для этой задачи свой механизм (хотя странно, почему бы им просто не воспользоваться библиотекой, о которой тут идет речь) github.com/dotnet/sdk/blob/49592a3265494788a0fd91f750e787297162e7a0/src/Cli/dotnet/Program.cs#L98
Если смотреть на исходный код CLI dotnet, то там для этой задачи свой механизм (хотя странно, почему бы им просто не воспользоваться библиотекой, о которой тут идет речь) github.com/dotnet/sdk/blob/49592a3265494788a0fd91f750e787297162e7a0/src/Cli/dotnet/Program.cs#L98
+3
Еще страннее, что у них есть System.CommandLine и поддерживает иерархию команд, но всё равно не используют.
0
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.
Парсер командной строки на .NET5