CommandLineConfigurationExtensions.AddCommandLine 方法

定義

多載

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

參數

configureSource
Action<CommandLineConfigurationSource>

設定來源。

傳回

IConfigurationBuilder

適用於

AddCommandLine(IConfigurationBuilder, String[])

來源:
CommandLineConfigurationExtensions.cs
來源:
CommandLineConfigurationExtensions.cs
來源:
CommandLineConfigurationExtensions.cs
來源:
CommandLineConfigurationExtensions.cs

新增一個 CommandLineConfigurationProviderIConfigurationProvider 從命令列讀取設定值的 a。

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[]

命令列 args。

傳回

IConfigurationBuilder

範例

一個簡單的主控台應用程式,有五個數值。

// 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

新增一個 CommandLineConfigurationProviderIConfigurationProvider ,利用指定的交換器映射從命令列讀取設定值。

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[]

命令列 args。

switchMappings
IDictionary<String,String>

開關映射。 一個由短鍵(前綴為「-」)與別名鍵(前綴為「--」)組成的字典,映射到配置鍵(無前綴)。

傳回

IConfigurationBuilder

範例

一個簡單的主控台應用程式,定義了兩個短距離與四個別名切換映射。

// 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 以了解支援的標準格式。

短鍵以單個破折號(「-」)開頭,並映射到主鍵名稱(無前綴),可搭配等號或空格使用。 單儀表板映射設計用於較短的替代轉車。

請注意,單一儀表板開關無法直接存取,必須有開關映射並使用完整鍵存取。 傳遞未定義的單行號參數會產生 。FormatException

短論點有兩種格式: -k1=value1 -k2 value2

別名鍵定義以兩個破折號(“--”)開頭,並映射到主鍵名稱(無前綴),可替代一般鍵。 當命令列中使用斜線前綴時(但不適用於無前綴等於格式)時,它們也能運作。

別名參數只有四種格式: --alt3=value3 /alt4=value4 --alt5 value5 /alt6 value6

適用於