Esempio n. 1
0
        /// <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)));
        }
Esempio n. 2
0
 /// <summary>
 /// コンストラクタ
 /// 各プロパティを引数の値で初期化する
 /// </summary>
 /// <param name="userSettings">ユーザ設定Element</param>
 public ConfigXmlRoot(ConfigXmlUserSettings userSettings)
 {
     UserSettings = userSettings;
 }
Esempio n. 3
0
 /// <summary>
 /// コンストラクタ
 /// 各プロパティの初期化を行う
 /// </summary>
 public ConfigXmlRoot()
 {
     UserSettings = new ConfigXmlUserSettings();
 }