0

私はC#、winフォーム、および.net 2.0を使用しています

実行時にユーザー設定ファイル内にプロパティを追加しようとしていますが、特定の場所の settings.settings ファイルに追加されたプロパティを表示できません。つまり、ファイルは存在しますが、プロパティは追加されません。

このプロパティを呼び出してもエラーが発生しません。以下のコードを使用すると機能します

MessageBox.Show(***********.Properties.Settings.Default.Properties["NewProperty"].DefaultValue);

私はこの次のコードを書きました 関数を呼び出す

clCommonFuncation cl = new clCommonFuncation();
        if (***********.Properties.Settings.Default.Properties["NewProperty"] == null)
        {
            cl.addPropertyinSettingsFile("NewProperty",
            ***********.Properties.Settings.Default.Providers,
            ***********.Properties.Settings.Default.Providers["LocalFileSettingsProvider"],
            ***********.Properties.Settings.Default.Properties,
            typeof(string),"ASD",null);
            ***********.Properties.Settings.Default.Save();
            ***********.Properties.Settings.Default.Reload();
        }

そして、これは関数の呼び出しです

 public void addPropertyinSettingsFile(string settingName,
        SettingsProviderCollection settingsProviderCollection,
        SettingsProvider settingsProvider,
        SettingsPropertyCollection settingPrpertyCollection,
        Type dataType,
        object defaultValue,
        object settingDefault)
    {
        SettingsProperty lvSettingProperty = new SettingsProperty(settingName);
        lvSettingProperty.DefaultValue = defaultValue;
        lvSettingProperty.IsReadOnly = false;
        lvSettingProperty.PropertyType = dataType;
        lvSettingProperty.Provider = settingsProvider;
        lvSettingProperty.SerializeAs = SettingsSerializeAs.String;
        lvSettingProperty.Name = settingName;
        lvSettingProperty.Attributes.Add(typeof(System.Configuration.UserScopedSettingAttribute),
            new System.Configuration.UserScopedSettingAttribute());
        settingPrpertyCollection.Add(lvSettingProperty);            
    }

私が間違っているのは何ですか?任意の提案をいただければ幸いですありがとう

4

2 に答える 2