/// <summary> /// 全てのシステムサービスを既定の設定で実行環境に登録します。 /// </summary> /// <param name="config">登録先の構成設定です。</param> /// <returns> /// <paramref name="config"/>そのもの、または、 /// 下記のサービスがサービスリストに追加された新しい<paramref name="config"/>のコピーです。 /// <list type="number"> /// <item><see cref="ExapisSOP.IO.IFileSystemService"/></item> /// <item><see cref="ExapisSOP.IO.Settings.ISettingsSystemService"/></item> /// <item><see cref="ExapisSOP.IO.Settings.CommandLine.ICommandLineService"/></item> /// <item><see cref="ExapisSOP.IO.Logging.ILoggingSystemService"/></item> /// </list> /// </returns> public static IConfiguration AddSystemServices(this IConfiguration config) { if (config == null) { throw new ArgumentNullException(nameof(config)); } return(config .AddFileSystem() .AddSettingsSystem() .AddCommandLine() .AddLoggingSystem()); }
/// <summary> /// 全てのシステムサービスを既定の設定で実行環境に登録します。 /// </summary> /// <param name="config">登録先の構成設定です。</param> /// <param name="fileSystemOptions"><see cref="ExapisSOP.IO.IFileSystemService"/>の設定を行います。</param> /// <param name="settingsSystemOptions"><see cref="ExapisSOP.IO.Settings.ISettingsSystemService"/>の設定を行います。</param> /// <param name="commandLineOptions"><see cref="ExapisSOP.IO.Settings.CommandLine.ICommandLineService"/>の設定を行います。</param> /// <param name="loggingSystemOptions"><see cref="ExapisSOP.IO.Logging.ILoggingSystemService"/>の設定を行います。</param> /// <returns> /// <paramref name="config"/>そのもの、または、 /// 下記のサービスがサービスリストに追加された新しい<paramref name="config"/>のコピーです。 /// <list type="number"> /// <item><see cref="ExapisSOP.IO.IFileSystemService"/></item> /// <item><see cref="ExapisSOP.IO.Settings.ISettingsSystemService"/></item> /// <item><see cref="ExapisSOP.IO.Settings.CommandLine.ICommandLineService"/></item> /// <item><see cref="ExapisSOP.IO.Logging.ILoggingSystemService"/></item> /// </list> /// </returns> public static IConfiguration AddSystemServices(this IConfiguration config, Func <FileSystemServiceOptions, Task>?fileSystemOptions = null, Func <SettingsSystemServiceOptions, Task>?settingsSystemOptions = null, Func <CommandLineServiceOptions, Task>?commandLineOptions = null, Func <LoggingSystemServiceOptions, Task>?loggingSystemOptions = null) { if (config == null) { throw new ArgumentNullException(nameof(config)); } fileSystemOptions ??= DefaultOptions; settingsSystemOptions ??= DefaultOptions; commandLineOptions ??= DefaultOptions; loggingSystemOptions ??= DefaultOptions; return(config .AddFileSystem(fileSystemOptions) .AddSettingsSystem(settingsSystemOptions) .AddCommandLine(commandLineOptions) .AddLoggingSystem(loggingSystemOptions)); }