CommandLineConfigurationExtensions.AddCommandLine Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
AddCommandLine(IConfigurationBuilder, Action<CommandLineConfigurationSource>) |
Добавляет IConfigurationProvider, считывающий значения конфигурации из командной строки. |
AddCommandLine(IConfigurationBuilder, String[]) |
Добавляет CommandLineConfigurationProvider, считывающий значения конфигурации из командной строки. |
AddCommandLine(IConfigurationBuilder, String[], IDictionary<String,String>) |
Добавляет CommandLineConfigurationProvider, считывающий значения конфигурации из командной строки с использованием указанных сопоставлений переключений. |
AddCommandLine(IConfigurationBuilder, Action<CommandLineConfigurationSource>)
- Исходный код:
- CommandLineConfigurationExtensions.cs
- Исходный код:
- CommandLineConfigurationExtensions.cs
- Исходный код:
- CommandLineConfigurationExtensions.cs
- Исходный код:
- CommandLineConfigurationExtensions.cs
Добавляет IConfigurationProvider, считывающий значения конфигурации из командной строки.
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
Параметры
- builder
- IConfigurationBuilder
Объект IConfigurationBuilder, в который необходимо выполнить добавление.
- configureSource
- Action<CommandLineConfigurationSource>
Настраивает источник.
Возвращаемое значение
Применяется к
AddCommandLine(IConfigurationBuilder, String[])
- Исходный код:
- CommandLineConfigurationExtensions.cs
- Исходный код:
- CommandLineConfigurationExtensions.cs
- Исходный код:
- CommandLineConfigurationExtensions.cs
- Исходный код:
- CommandLineConfigurationExtensions.cs
Добавляет CommandLineConfigurationProvider, считывающий значения конфигурации из командной строки.
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
Параметры
- configurationBuilder
- IConfigurationBuilder
Объект IConfigurationBuilder, в который необходимо выполнить добавление.
- args
- String[]
Аргументы командной строки.
Возвращаемое значение
Примеры
Простое консольное приложение с пятью значениями.
// 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"]}'");
}
}
}
Комментарии
Значения, передаваемые в командной строке в args
массиве строк, должны быть набором ключей с префиксом с двумя дефисами ("--"), а затем значениями, разделенными знаком равенства ("=") или пробелом (" "). Косая черта ("/") может использоваться в качестве альтернативного префикса с равными или пробелами. При использовании знака равенства префикс можно полностью исключить.
Существует пять основных альтернативных форматов аргументов:
key1=value1
--key2=value2
/key3=value3
--key4 value4
/key5 value5
Применяется к
AddCommandLine(IConfigurationBuilder, String[], IDictionary<String,String>)
- Исходный код:
- CommandLineConfigurationExtensions.cs
- Исходный код:
- CommandLineConfigurationExtensions.cs
- Исходный код:
- CommandLineConfigurationExtensions.cs
- Исходный код:
- CommandLineConfigurationExtensions.cs
Добавляет CommandLineConfigurationProvider, считывающий значения конфигурации из командной строки с использованием указанных сопоставлений переключений.
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
Параметры
- configurationBuilder
- IConfigurationBuilder
Объект IConfigurationBuilder, в который необходимо выполнить добавление.
- args
- String[]
Аргументы командной строки.
- switchMappings
- IDictionary<String,String>
Сопоставления переключений. Словарь коротких ключей (с префиксом "-") и ключей псевдонимов (с префиксом "--"), сопоставленных с ключом конфигурации (без префикса).
Возвращаемое значение
Примеры
Простое консольное приложение с двумя короткими и четырьмя сопоставлениями переключателей псевдонимов.
// 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"]}'");
}
}
}
Комментарии
позволяет switchMappings
использовать из командной строки дополнительные форматы для альтернативных коротких ключей и ключей псевдонимов. Поддерживаемые стандартные форматы см. в базовой AddCommandLine
версии .
Короткие клавиши начинаются с одного дефиса ("-") и сопоставляются с именем ключа main (без префикса) и могут использоваться с равными или пробелами. Сопоставления с одним тире предназначены для более коротких альтернативных коммутаторов. К одному тире-коммутатору нельзя получить доступ напрямую, но должно быть определено сопоставление коммутаторов и доступ к нему должен осуществляться с помощью полного ключа. Передача неопределенного аргумента с одним тире приведет к возникновению FormatException.
Существует два формата для коротких аргументов: -k1=value1
и -k2 value2
.
Определения ключей псевдонимов начинаются с двух дефисов (--) и сопоставляются с именем ключа main (без префикса) и могут использоваться вместо обычного ключа. Они также работают, если в командной строке используется префикс косой черты (но не с форматом без префикса).
Существует только четыре формата для аргументов с псевдонимами:
--alt3=value3
/alt4=value4
--alt5 value5
/alt6 value6