使用C#自带的设置功能(user.config)

最近几天又要填坑啦,LLCOM写得差不多了,很多东西需要记一下,以免忘掉

C#工程自带了一共设置的功能,在我的wpf项目里面,简单地用了一下这个功能

开始使用

我们可以点开解决方案资源管理器中的Properties

在左边,找到设置,所有的设置项都可以在这里新建,并且设置默认值,如下面所示:

我们拿第一个dataToSend设置项举例吧,如果你想访问这个项目的值,可以使用下面的方式:

string s = Properties.Settings.Default.dataToSend;

同时,如果你想更改该值,并保存该值,那么可以使用下面的方式:

Properties.Settings.Default.dataToSend = "Za Warudo";
Properties.Settings.Default.Save();

是不是很方便?

稍微封装下

为了使用简单,我们可以直接封装成一个class来调用:

namespace example
{
    class Settings
    {
        private static string _dataToSend = Properties.Settings.Default.dataToSend;
        public static string dataToSend
        {
            get
            {
                return _dataToSend;
            }
            set
            {
                _dataToSend = value;
                Properties.Settings.Default.dataToSend = value;
                Properties.Settings.Default.Save();
            }
        }
    }
}

然后直接按照下面使用,就能自动保存了,非常方便:

string s = Settings.dataToSend;//获取值
Settings.dataToSend = "Za Warudo";//设置项将被自动保存

更多介绍

有时候我们想直接分享这个配置文件,怎么办?我们可以直接用下面的代码,获取user.config配置文件位置:

string path = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal).FilePath;

END

网上这方面的资料很多,大多数是英文,没什么阅读难度。我只是整理了下我用到的东西,分享出来以免大家再踩坑。

2 Comments

  1. Google Chrome 80.0.3987.106 Google Chrome 80.0.3987.106 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.106 Safari/537.36

    多谢大佬qwq我都不知道有这个功能
    之前我为了存配置信息,好不容易把json搞会了,然后硬生生的存读json文件

    1. Google Chrome 76.0.3809.101 Google Chrome 76.0.3809.101 GNU/Linux x64 GNU/Linux x64
      Mozilla/5.0 (X11; U; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.101 Safari/537.36

      这个功能不好用,我已经换回json存配置了

发表评论

电子邮件地址不会被公开。 必填项已用*标注