网站源代码怎么生成网页,wordpress产品目录,做网站哪家公司专业,潍坊网站制作本文将详细介绍如何在.NET桌面程序中使用自定义的XML配置文件来保存和读取设置。除了XML之外#xff0c;我们还将探讨其他常见的配置文件格式#xff0c;如JSON、INI和YAML#xff0c;以及它们的优缺点和相关的NuGet类库。最后#xff0c;我们将重点介绍我们为何选择XML作为… 本文将详细介绍如何在.NET桌面程序中使用自定义的XML配置文件来保存和读取设置。除了XML之外我们还将探讨其他常见的配置文件格式如JSON、INI和YAML以及它们的优缺点和相关的NuGet类库。最后我们将重点介绍我们为何选择XML作为配置文件格式并展示一个实用的示例。 1. 背景
在.NET桌面程序中通常使用setting文件来保存程序的配置信息。使用setting文件的方法很简单只需在项目中添加一个setting文件然后通过Properties.Settings.Default来获取和保存设置即可。
我的开源项目 HackerScreenSaver 之前就是使用这种方式但是当我在升级 Windows11 的内核版本后发现当程序在被系统以屏保程序启动后无法加载配置了。
如此这般就需要使用其他方式来存储配置文件了。毕竟setting文件并非唯一可用于保存设置的方式。我们可以选择存储到注册表或者自己写配置文件并保存。
2. 常见的配置文件格式
对于一些简单的配置我们甚至可以直接写一个二进制文件当然一般情况下我们还是选择常见格式的配置文件比如JSON、INI 和 YAML。
JSON(JavaScript Object Notation) 格式 优点易于阅读和编写支持复杂的数据结构广泛应用于Web API和前端开发。缺点根据 JSON 规范其是不支持注释的单独 Json 文件在某些编辑器可以正确解析注释在 .NET Core 中通过 JSON 配置提供程序读取配置时也可以在配置文件中添加注释。相关类库Newtonsoft.Json建议使用自带的 System.Text.Json迁移可参考相关教程。 INIInitialization File 优点简洁易于阅读和编辑适用于存储简单的键值对。缺点不支持复杂的数据结构和类型。相关类库ini-parser YAMLYet Another Markup Language 优点简洁易于阅读和编辑支持复杂的数据结构支持注释。缺点缩进敏感可能导致错误。相关类库YamlDotNet
3. HackerScreenSaver 的配置选择
HackerScreenSaver 为了设计的小巧根据合适原则和简单原则我最终选择了不需要引入其他第三方的 XML 格式配置文件。
XMLeXtensible Markup Language具有以下优点
可扩展性强支持复杂的数据结构。支持注释便于理解和维护。作为标准的数据交换格式易于与其他系统集成。
以下是我们设计的一个简单的配置类 SimpleSetting用于保存设置
public class SimpleSetting
{// 类的属性和构造函数省略.../// summary/// 从文件中读取设置/// /summary/// param namepath配置文件路径/parampublic SimpleSetting(string path){System.Xml.Serialization.XmlSerializer xs new System.Xml.Serialization.XmlSerializer(typeof(SimpleSetting));using (System.IO.FileStream fs new System.IO.FileStream(path, System.IO.FileMode.Open)){SimpleSetting ss (SimpleSetting)xs.Deserialize(fs);isLocal ss.isLocal;uInfo ss.uInfo;Opacity ss.Opacity;autoExit ss.autoExit;}}/// summary/// 保存设置到文件/// /summary/// param namepath配置文件路径/parampublic void Save(string path){System.Xml.Serialization.XmlSerializer xs new System.Xml.Serialization.XmlSerializer(typeof(SimpleSetting));using (System.IO.FileStream fs new System.IO.FileStream(path, System.IO.FileMode.Create)){xs.Serialize(fs, this);}}
}SimpleSetting 类中包含了从XML文件中读取设置和将设置保存到XML文件的方法。为了使用该类我们只需要在程序中创建一个 SimpleSetting 对象然后调用其 Save 和 Load 方法即可。这样我们就可以在.NET桌面程序中使用自定义的XML配置文件来保存设置了。
4. 最后
本文详细介绍了如何在.NET桌面程序中使用自定义的 XML 配置文件以及为何选择 XML 作为配置文件格式。同时我们还探讨了其他常见的配置文件格式如 JSON、INI 和 YAML以及它们的优缺点和相关的 NuGet 类库。希望这篇文章能帮助你找到适合你项目需求的配置文件解决方案