用户可写配置文件的示例

本文关键字:配置文件 用户 | 更新日期: 2023-09-27 18:00:24

在我的(C#4.0)项目范围内,引入了用户配置功能,我的同事需要获得配置我们的软件或预运行的能力,以便它能够以任何需要的方式履行职责。每次运行(它们往往是冗长的模拟)都有自己的配置文件。

总的来说,他们想要定义"产品",这是一种相当复杂的野兽,包括运行时参数、IOC风格的信息(以类似策略模式的方式所需的计算类列表)以及其他东西。值可以是数字(整数和浮点)、字符串、日期和这些值的列表。

我们知道,随着新产品的推出或现有产品的发展,内容会发生变化(例如,新的参数名称)。

我看过的选项包括,按语法权重的降序(我估计):

  1. XML
  2. YAML
  3. JSON
  4. 领域特定语言
  5. 一些特定于应用程序的文本注释

我正在寻找或多或少相似的东西的例子:文件格式,从技术和/或用户的角度讨论利弊。

(我预计在未来的某个时候,我们会考虑为此类练习引入图形前端,但在此之前,我们需要能够配置执行。)

编辑/更新:我不是特别关心从技术角度实现的易用性:我正在寻找我的(非常聪明,但不面向技术)用户最能使用的东西,以最大限度地减少编写可能相当复杂的配置的难度。

也许"配置"这个词的选择不好——如果我们称之为"模拟定义文件",并考虑到随着时间的推移,每个用户都会创建许多这样的文件,会怎么样?

用户可写配置文件的示例

如果所有这些都可以用一种常规的、面向属性的方式来描述,那么XML似乎可以满足您的需求。C#具有出色的XML处理功能,包括内置的序列化程序和LINQ,可以节省大量的代码实现时间。此外,从模式创建基于表单的UI是非常直接的。

我建议坐下来创建一个伪模式,看看这是否能处理您的用例,以帮助决定这种方法是否适用于您。

例如,看看由XML驱动的众多插件系统中的一个。我推荐的第一个是Eclipse。

在C#中,最简单的方法是使用内置类System.Configuration,首先您应该使用Visual Studio添加一个配置文件,然后您可以编辑它的属性。这是一个如何