0

次の動作を設定したい:

My Application は、ConfigDesigner によって作成された構成ファイルを使用します。そのため、デフォルト構成を作成しました

namespace MyApp.Configuration {


[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
public sealed partial class MyConfig: global::System.Configuration.ApplicationSettingsBase {


    [global::System.Configuration.UserScopedSettingAttribute()]
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    [global::System.Configuration.DefaultSettingValueAttribute("100")]
    public double Size{
        get {
            return ((double)(this["Size"]));
        }
        set {
            this["Size"] = value;
        }
    }
  }
 }

を介した呼び出しによりMyConfig.Default.Size、 に格納されている値を取得しMyApp.exe.configます。

しかしBool、ユーザーがMyApp.exe.config. そこで、MyConfig.Default-Propertyのセッターを次のように変更しました。

private static MyConfig userInstance = ((MyConfig)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new MyConfig())));
public static MyConfig Default
    {
        get
        {
            if(ConfigIsAllowed)
                return userInstance;
            else
            {
                /* Here I wanna return the default-values */
            }
        }
    }

しかし、デフォルト設定に戻す方法がわかりません。構成に可能性があることは知っていますが、構成Reset()が保存されているファイルをリセットしたくありません。デフォルト値のみを返したい。を介して1つのデフォルト値を返す解決策も見つけましたMyConfig.Default.Properties["NAME"].DefaultValueが、これを使用すると、のようなconfigvalueを使用できませんMyConfig.Default.Size

デフォルト構成またはユーザー構成を取得するための最良の解決策は何ですか?

4

0 に答える 0