我有一个使用硬编码值表的程序。例如。
public static readonly IDictionary<SpecBuild, BuildInfo> Builds = new Dictionary<SpecBuild, BuildInfo> {
{ SpecBuild.WarriorArms,
new BuildInfo {
Class = Class.Warrior,
Name = "Arms",
Role = Role.Melee
}
},
{ SpecBuild.WarriorFury,
new BuildInfo {
Class = Class.Warrior,
Name = "Fury",
Role = Role.Melee
}
},
{ SpecBuild.WarriorProtection,
new BuildInfo {
Class = Class.Warrior,
Name = "Protection",
Role = Role.Tank
}
}, ...
此数据很少更改,因此我可以对它进行硬编码。问题是很难读取此数据,并且格式化不起作用,因为 Resharper 以不同的方式重新格式化它。
理想情况下,我想要一个带有自定义 VS2010 查看器的特殊格式文件,它将此信息显示为表格,并在编译过程中为这些表格生成 C# 代码,或者甚至可能直接将其编译为 MSIL (CLR) .
我正在寻找交 key 解决方案,问题还没有严重到需要任何额外开发的程度。
最佳答案
我会(并且已经多次)将这种类型的数据推送到一个文件中(可能通过 resx)。然后通过您选择的解串器加载数据。如果它需要轻松编辑,可能是通过 JavaScriptSerializer 或 JSON.NET 的 JSON。如果它被告知数据和性能是关键,也许更硬核(可能是二进制)。 XML 当然也是一个可行的选择。
如果情况允许,其他选项可能包括嵌入式数据库。
关于c# - 在 C# 代码中包含数据的格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6074628/