CommandLineConfigurationExtensions.AddCommandLine Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přetížení
AddCommandLine(IConfigurationBuilder, Action<CommandLineConfigurationSource>) |
Přidá objekt IConfigurationProvider , který čte konfigurační hodnoty z příkazového řádku. |
AddCommandLine(IConfigurationBuilder, String[]) |
Přidá hodnotu CommandLineConfigurationProvider , která čte konfigurační hodnoty z příkazového řádku. |
AddCommandLine(IConfigurationBuilder, String[], IDictionary<String,String>) |
Přidá hodnotu CommandLineConfigurationProvider , která čte konfigurační hodnoty z příkazového řádku pomocí zadaného mapování přepínačů. |
AddCommandLine(IConfigurationBuilder, Action<CommandLineConfigurationSource>)
Přidá objekt IConfigurationProvider , který čte konfigurační hodnoty z příkazového řádku.
public:
[System::Runtime::CompilerServices::Extension]
static Microsoft::Extensions::Configuration::IConfigurationBuilder ^ AddCommandLine(Microsoft::Extensions::Configuration::IConfigurationBuilder ^ builder, Action<Microsoft::Extensions::Configuration::CommandLine::CommandLineConfigurationSource ^> ^ configureSource);
public static Microsoft.Extensions.Configuration.IConfigurationBuilder AddCommandLine (this Microsoft.Extensions.Configuration.IConfigurationBuilder builder, Action<Microsoft.Extensions.Configuration.CommandLine.CommandLineConfigurationSource>? configureSource);
static member AddCommandLine : Microsoft.Extensions.Configuration.IConfigurationBuilder * Action<Microsoft.Extensions.Configuration.CommandLine.CommandLineConfigurationSource> -> Microsoft.Extensions.Configuration.IConfigurationBuilder
<Extension()>
Public Function AddCommandLine (builder As IConfigurationBuilder, configureSource As Action(Of CommandLineConfigurationSource)) As IConfigurationBuilder
Parametry
- builder
- IConfigurationBuilder
Chcete-li IConfigurationBuilder přidat do.
- configureSource
- Action<CommandLineConfigurationSource>
Nakonfiguruje zdroj.
Návraty
Hodnota IConfigurationBuilder
Platí pro
AddCommandLine(IConfigurationBuilder, String[])
Přidá hodnotu CommandLineConfigurationProvider , která čte konfigurační hodnoty z příkazového řádku.
public:
[System::Runtime::CompilerServices::Extension]
static Microsoft::Extensions::Configuration::IConfigurationBuilder ^ AddCommandLine(Microsoft::Extensions::Configuration::IConfigurationBuilder ^ configurationBuilder, cli::array <System::String ^> ^ args);
public static Microsoft.Extensions.Configuration.IConfigurationBuilder AddCommandLine (this Microsoft.Extensions.Configuration.IConfigurationBuilder configurationBuilder, string[] args);
static member AddCommandLine : Microsoft.Extensions.Configuration.IConfigurationBuilder * string[] -> Microsoft.Extensions.Configuration.IConfigurationBuilder
<Extension()>
Public Function AddCommandLine (configurationBuilder As IConfigurationBuilder, args As String()) As IConfigurationBuilder
Parametry
- configurationBuilder
- IConfigurationBuilder
Chcete-li IConfigurationBuilder přidat do.
- args
- String[]
Příkazový řádek args.
Návraty
Hodnota IConfigurationBuilder
Příklady
Jednoduchá konzolová aplikace, která má pět hodnot.
// dotnet run key1=value1 --key2=value2 /key3=value3 --key4 value4 /key5 value5
using Microsoft.Extensions.Configuration;
using System;
namespace CommandLineSample
{
public class Program
{
public static void Main(string[] args)
{
var builder = new ConfigurationBuilder();
builder.AddCommandLine(args);
var config = builder.Build();
Console.WriteLine($"Key1: '{config["Key1"]}'");
Console.WriteLine($"Key2: '{config["Key2"]}'");
Console.WriteLine($"Key3: '{config["Key3"]}'");
Console.WriteLine($"Key4: '{config["Key4"]}'");
Console.WriteLine($"Key5: '{config["Key5"]}'");
}
}
}
Poznámky
Hodnoty předané na příkazovém řádku v args
poli řetězců by měly být množinou klíčů s předponou dvou pomlček ("--") a potom hodnotami oddělenými znaménkem rovná se ("=") nebo mezerou (" "). Lomítko ("/") lze použít jako alternativní předponu, která se rovná nebo mezera. Při použití znaménka rovná se může předpona úplně vynechat.
Argumenty mají pět základních alternativních formátů:
key1=value1
--key2=value2
/key3=value3
--key4 value4
/key5 value5
Platí pro
AddCommandLine(IConfigurationBuilder, String[], IDictionary<String,String>)
Přidá hodnotu CommandLineConfigurationProvider , která čte konfigurační hodnoty z příkazového řádku pomocí zadaného mapování přepínačů.
public:
[System::Runtime::CompilerServices::Extension]
static Microsoft::Extensions::Configuration::IConfigurationBuilder ^ AddCommandLine(Microsoft::Extensions::Configuration::IConfigurationBuilder ^ configurationBuilder, cli::array <System::String ^> ^ args, System::Collections::Generic::IDictionary<System::String ^, System::String ^> ^ switchMappings);
public static Microsoft.Extensions.Configuration.IConfigurationBuilder AddCommandLine (this Microsoft.Extensions.Configuration.IConfigurationBuilder configurationBuilder, string[] args, System.Collections.Generic.IDictionary<string,string>? switchMappings);
static member AddCommandLine : Microsoft.Extensions.Configuration.IConfigurationBuilder * string[] * System.Collections.Generic.IDictionary<string, string> -> Microsoft.Extensions.Configuration.IConfigurationBuilder
<Extension()>
Public Function AddCommandLine (configurationBuilder As IConfigurationBuilder, args As String(), switchMappings As IDictionary(Of String, String)) As IConfigurationBuilder
Parametry
- configurationBuilder
- IConfigurationBuilder
Chcete-li IConfigurationBuilder přidat do.
- args
- String[]
Příkazový řádek args.
- switchMappings
- IDictionary<String,String>
Mapování přepínačů Slovník krátkých (s předponou "-") a klíčů aliasu (s předponou "--") namapovaný na konfigurační klíč (bez předpony).
Návraty
Hodnota IConfigurationBuilder
Příklady
Jednoduchá konzolová aplikace, která má definované dvě krátká a čtyři mapování přepínačů aliasů.
// dotnet run k1=value1 -k2 value2 --alt3=value2 /alt4=value3 --alt5 value5 /alt6 value6
using Microsoft.Extensions.Configuration;
using System;
using System.Collections.Generic;
namespace CommandLineSample
{
public class Program
{
public static void Main(string[] args)
{
var switchMappings = new Dictionary<string, string>()
{
{ "-k1", "key1" },
{ "-k2", "key2" },
{ "--alt3", "key3" },
{ "--alt4", "key4" },
{ "--alt5", "key5" },
{ "--alt6", "key6" },
};
var builder = new ConfigurationBuilder();
builder.AddCommandLine(args, switchMappings);
var config = builder.Build();
Console.WriteLine($"Key1: '{config["Key1"]}'");
Console.WriteLine($"Key2: '{config["Key2"]}'");
Console.WriteLine($"Key3: '{config["Key3"]}'");
Console.WriteLine($"Key4: '{config["Key4"]}'");
Console.WriteLine($"Key5: '{config["Key5"]}'");
Console.WriteLine($"Key6: '{config["Key6"]}'");
}
}
}
Poznámky
Umožňuje switchMappings
použití dalších formátů pro alternativní krátké klávesy a klávesy aliasu z příkazového řádku. Informace o podporovaných standardních formátech najdete v základní verzi nástroje AddCommandLine
.
Krátké klávesy začínají jednou pomlčkou ("-") a jsou namapované na název hlavního klíče (bez předpony) a lze je použít buď se rovná, nebo mezera. Jednoúčelová mapování jsou určena pro kratší alternativní přepínače. K jednomu pomlčkovém přepínači není možné přistupovat přímo, ale musí mít mapování přepínačů definované a přístupné pomocí úplného klíče. Předání nedefinovaného argumentu s jednou pomlčkou způsobí FormatException.
Pro krátké argumenty existují dva formáty: -k1=value1
a -k2 value2
.
Definice klíčů aliasu začínají dvěma pomlčkami (--) a mapují se na název hlavního klíče (bez předpony) a dají se použít místo normálního klíče. Fungují také v případě, že se na příkazovém řádku použije předpona lomítka (ale ne bez předpony se rovná formátu).
Pro argumenty s aliasy existují pouze čtyři formáty:
--alt3=value3
/alt4=value4
--alt5 value5
/alt6 value6