ZhanC.ArgumentParser
1.0.0
dotnet add package ZhanC.ArgumentParser --version 1.0.0
NuGet\Install-Package ZhanC.ArgumentParser -Version 1.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ZhanC.ArgumentParser" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ZhanC.ArgumentParser" Version="1.0.0" />
<PackageReference Include="ZhanC.ArgumentParser" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ZhanC.ArgumentParser --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: ZhanC.ArgumentParser, 1.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package ZhanC.ArgumentParser@1.0.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ZhanC.ArgumentParser&version=1.0.0
#tool nuget:?package=ZhanC.ArgumentParser&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Parse the arguments from console
var reader = new ConsoleArgumentParser(typeof(TargetType), true);
var args = new string[] { "NamelessParameter1",
"-StringProperty", "Value1",
"-StringPropertyWithDescription", "Value2",
"-IntegerProperty", "3",
"-NullableIntegerProperty", "4",
"-NullableIntegerPropertyWithDefault", "5",
"-NullableIntegerPropertyRequired", "6",
"-BoolProperty", //bool flag alone
"-BoolProperty2", //bool flag with True
"True",
"-BoolProperty3", //bool flag with False
"false",
"NamelessParameter2"};
var actual = reader.ReadArguments<TargetType>(args);
Assert.Equal("Value1", actual.StringProperty);
Assert.Equal("Value2", actual.StringPropertyWithDescription);
Assert.Equal(3, actual.IntegerProperty);
Assert.Equal(4, actual.NullableIntegerProperty);
Assert.Equal(5, actual.NullableIntegerPropertyWithDefault);
Assert.Equal(6, actual.NullableIntegerPropertyRequired);
Assert.True(actual.BoolProperty);
Assert.True(actual.BoolProperty2);
Assert.Equal("NamelessParameter1", reader.ValueArguments[0]);
Assert.Equal("NamelessParameter2", reader.ValueArguments[1]);
Assert.Null(reader.Error);
public class TargetType
{
[CmdLineArgument]
public string? StringProperty { get; set; }
[CmdLineArgument(Default = "This is cool")]
public string? StringPropertyWithDefault { get; set; }
[CmdLineArgument(Description = "This is also cool")]
public string? StringPropertyWithDescription { get; set; }
[CmdLineArgument]
public int IntegerProperty { get; set; }
[CmdLineArgument]
public int? NullableIntegerProperty { get; set; }
[CmdLineArgument(Default = -1000)]
public int? NullableIntegerPropertyWithDefault { get; set; }
[CmdLineArgument(IsRequired = true)]
public int? NullableIntegerPropertyRequired { get; set; }
[CmdLineArgument]
public bool BoolProperty { get; set; }
[CmdLineArgument]
public bool BoolProperty2 { get; set; }
[CmdLineArgument]
public bool BoolProperty3 { get; set; }
[CmdLineArgument(Default = true)]
public bool BoolPropertyWithDefault { get; set; }
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 190 | 9/9/2024 |