c# – 尝试从键值对列表构建对象时有什么好的设计?
作者:互联网
因此,如果我有一个解析文本文件并返回键值对列表的列表的方法,并希望从返回的kvps创建对象(每个kvps列表代表一个不同的对象),那么最好的方法是什么?
弹出的第一种方法非常简单,只需保留一个关键字列表:
private const string NAME = "name";
private const string PREFIX = "prefix";
并检查我得到的关于我想要的常数的键,如上所述.这是我正在研究的项目的一个相当核心的部分,所以我想做得好;有没有人有更强大的建议(不是说上面的方法有任何固有的不稳定性 – 我只是在四处询问)?
编辑:
已经要求提供更多细节.我在业余时间做一个小游戏,我正在用配置文件构建游戏世界.有四个 – 一个定义所有生物,另一个定义所有区域(及其在地图中的位置),另一个定义所有对象,最后一个定义各种配置选项和不适合其他地方的东西.使用前三个配置文件,我将根据文件的内容创建对象 – 它将非常重文本,因此会有很多字符串,如名称,复数,前缀等等.配置值都是这样的:
-
key: value
key: value
-
key: value
key: value
-
‘ – ‘行表示新的部分/对象.
解决方法:
深入了解XmlSerializer.即使您不能使用磁盘上的XML,您也可能希望复制它的一些功能.这可能看起来像这样:
public class DataObject {
[Column("name")]
public string Name { get; set; }
[Column("prefix")]
public string Prefix { get; set; }
}
虽然在文件中包含某种格式版本但要小心,否则你将在地狱的厨房中进行下一次格式更改.
标签:c,key-value 来源: https://codeday.me/bug/20190722/1499777.html