/// <summary> /// デフォルト値のユーザコンフィグを生成する /// </summary> /// <param name="context"> /// 現在のアプリケーションの設定情報を格納した、コンテキストオブジェクト /// </param> /// <exception cref="AmbiguousMatchException"> /// 引数のコンテキスト情報(<see cref="SettingsContext"/>)から取得したプロパティにおいて、 /// 下記の属性が重複して設定されている場合に発生 /// ・<see cref="UserScopedSettingAttribute"/> 属性 /// ・<see cref="DefaultSettingValueAttribute"/> 属性 /// </exception> /// <exception cref="TypeLoadException"> /// 引数のコンテキスト情報(<see cref="SettingsContext"/>)から取得したプロパティが、 /// カスタム属性の型であり読み込むことができない場合に発生 /// </exception> /// <returns>デフォルト値のユーザコンフィグのインスタンス</returns> public static UserConfig CreateDefaultValueConfig(SettingsContext context) { // アプリケーション設定からユーザ設定のデフォルト値を取得する AppConfig appConfig = new AppConfig(); IDictionary <string, string> defaultUserSettings = appConfig.GetDefaultUserSettings(context); // デフォルト値の設定情報を生成する IList <ConfigXmlSetting> xmlSettings = defaultUserSettings.Select( (setting) => new ConfigXmlSetting(setting.Key, "String", setting.Value)).ToList(); // ユーザコンフィグのインスタンスを生成して返す ConfigXmlUserSettings settings = new ConfigXmlUserSettings(new Collection <ConfigXmlSetting>(xmlSettings)); return(new UserConfig(new ConfigXmlRoot(settings))); }
/// <summary> /// コンストラクタ /// 各プロパティを引数の値で初期化する /// </summary> /// <param name="userSettings">ユーザ設定Element</param> public ConfigXmlRoot(ConfigXmlUserSettings userSettings) { UserSettings = userSettings; }
/// <summary> /// コンストラクタ /// 各プロパティの初期化を行う /// </summary> public ConfigXmlRoot() { UserSettings = new ConfigXmlUserSettings(); }