【问题标题】:Custom application settings自定义应用程序设置
【发布时间】:2011-06-08 02:58:34
【问题描述】:

我希望能够拥有一个在整个应用程序中都可用的设置类,但是我仍然希望能够测试设置对象是否被填充。大多数设置来自注册表。

目前我有这个,但我不确定在哪里填充它,以便我可以模拟用于填充它的服务。

public class Program {
    public static Settings SystemSettings = new SystemSettings();

    public void Main(string[] args) {
         SystemSettings = new RegistryService().GetRegSettings();
    }
}

对此有任何想法都会很棒。

【问题讨论】:

    标签: c# static settings application-settings


    【解决方案1】:

    创建一个单例类,你的应用程序中的所有类都可以访问它

    public class Settings
    {
        private static Settings systemSettings;
        public static Settings SystemSettings 
        {
            get
            {
                if (systemSettings == null)
                    systemSettings = new Settings();
                return systemSettings;
            }
        }
        public int SettingValue1{ get; set; }
        private Settings()
        {
            SettingValue1 = 1;//from registery or somewhere
        }
    
    
    }
    

    ans 使用这个类很容易

    int k = Settings.SystemSettings.SettingValue1;
    

    【讨论】:

      【解决方案2】:

      您需要做的是抽象您的底层设置存储,在这种情况下是 Windows 注册表,并让您的设置控制器调用您的抽象。

      最好的方法是使用构造函数注入您的存储抽象。这样您就可以模拟您的抽象(Windows 寄存器),这将允许您测试您的设置群体。

      【讨论】:

        猜你喜欢
        • 2011-09-23
        • 1970-01-01
        • 1970-01-01
        • 2012-10-13
        • 1970-01-01
        • 1970-01-01
        • 2018-01-03
        • 2010-12-31
        • 2011-09-11
        相关资源
        最近更新 更多