是否可以在 C# (.NET Framework 4.7.2) 中向 .settings 文件添加其他属性

Is it possible to add additional properties to a .settings file in C# (.NET Framework 4.7.2)

我正在 .NET Framework 4.7.2 中使用 C# 开发应用程序。最初我有一些数据,我认为这些数据对于使用 .ini 文件进行配置很有用。我很快了解到 .ini 文件在 .NET 中已经过时,使用配置文件是明智的。即,.settings 文件。

对于我的应用程序的某些上下文,这些配置数据将引用 PLC 程序标签名称,程序员可以 added/removed 相当容易地不需要公开 C# 应用程序(即,如果我们想添加我们的应用程序要读取的标记,我们可以轻松地将其添加到配置文件中,字符串值将由我们的 Tag-Reading 扩展解析)。

我所做的是创建一些 .settings 文件,以便我可以更轻松地组织某些标签块的范围。这可能不是执行此操作的最有效方法,但目前对我来说可以进行概念验证。我以后可能会更改它,但现在我想保持原样。

我的问题与这些 .settings 文件如何工作以及它们是否可自行配置有关。

在上图中,我看到四个headers。我一直称它们为属性:"Name"、"Type"、"Scope" 和 "Value"。我可以使用 SettingsProperty class 引用这些属性中的任何一个(我认为这是此 object 的正确 class 化)。在一些非常特殊的情况下,我需要为标签提供额外的 属性 以给予特别关注。这在 C# visual studio 2019 中是否可行?如果可以,有人可以为我指明实现这一目标的正确方向吗?我考虑过也许可以使用字符串列表,但从可用性的角度来看,如果我还没有找到解决方法,我宁愿不这样做。我没有成功搜索 how/if 这已经完成,或者这是否是解决此问题的合适方法。

简而言之,除了"Name"、"Type"、"Scope"和"Value",我想添加"TagType"(字符串类型)我可以根据需要从我的 .settings 文件中设置和获取。

非常感谢您提供任何见解!

编辑:错别字

这是一个想法,您可以将值和 TagType 都存储到 Column Value 中。并用任意一个字符分隔,如|.

然后您可以通过拆分字符串来访问它们。

string value = Properties.Settings.Default.Tag_1.Split('|')[0].Trim();
string tagtype = Properties.Settings.Default.Tag_1.Split('|')[1].Trim();
Console.WriteLine($"Value = {value}, TagType = {tagtype}");

希望对您有所帮助。