【发布时间】:2015-05-27 04:15:17
【问题描述】:
在 .NET Application Settings 中保存一系列结构相同的简单配置元组的干净、规范的方法是什么?
假设我的程序有(用户范围)设置,例如“服务器名称”、“地址”、“端口”。我只需将这三个作为两个字符串和一个 int 添加到应用程序设置中。
但是,如果我的程序配置需要处理多个这样的服务器,用户可以在其中添加和删除任意数量的服务器怎么办?我希望设置保存一组三元组,每个三元组由两个字符串和一个 int 组成,而应用程序设置似乎不太支持。
这是一个由基本类型组成的相对轻量级的结构,但到目前为止,我发现的最简洁的方法是创建一个新类(!)只是为了保存三元组数组,使用自定义序列化来适应类/反序列化代码,然后将其设置为单个“设置”的类型。
我可以做到这一点,但考虑到大多数应用程序设置是多么的不干涉,这听起来确实像是一种可能以更直接的方式可行的事情。
那么有这样的方法吗?
(是的,我已经看到了"int[] array in application Settings" 问题,在这种情况下,有用的答案并没有那么有用。)
ETA:问题的关键不在于服务器名称或端口号,而在于结构相同的元组的数组简单的数据,每个单独的数据都会被简单地保存。
【问题讨论】:
-
你为什么要允许用户添加和删除这样的设置..你不应该是设置它的人..吗?你能展示一个你正在尝试做的事情的编码示例,并且配置文件可以有你喜欢的关于指向特定服务器的设置
-
我没有任何说明性代码可显示,抱歉。假设我的程序相当于一个 IRC 客户端,并且用户需要能够在配置中为多个服务器设置(并保存)连接详细信息,以便他/她可以通过单击按钮连接到所有这些服务器稍后。
-
伙计们,当否决(或投票结束)一个并非公然不清楚、无用或未经研究的问题时,请评论该问题的问题所在。它将帮助我和读者学习如何提出更好的问题。
-
应用程序设置并不是最好的地方。通常,只需将设置保存到 %AppData% 或 %ProgramData% 中的 XML 或 JSON 格式文件。
-
听起来您对“琐碎阅读”和“琐碎保存”的设置同样感兴趣?或者你不介意有一个代码方法来解析配置?
标签: c# windows application-settings