gpt4 book ai didi

c# - 不同版本解析文件不同

转载 作者:数据小太阳 更新时间:2023-10-29 01:53:07 24 4
gpt4 key购买 nike

编辑:我对此做了一些研究,但未能找到解决方案!

我正在从 XML 文件中读取配置。配置的布局是为特定版本设置的。此版本位于 XML 的第一行,易于提取。

我想知道的是,根据版本(所有 4 个元素,Major、Minor、Build 和 Revision)实际解析此文件/获取另一种方法的最佳方法是什么。

现在我想出了这个:

switch (version.Major)
{
case 0:
switch (version.Minor)
{
case 0:
switch (version.Build)
{
case 0:
switch (version.Revision)
{
case 0:
return VersionNone(doc);
}
break;
}
break;
}
break;
}
throw new NotImplementedException();

但我觉得这(一点也不优雅),我觉得有更好的方法来做到这一点。

谁能帮忙?

最佳答案

对于这样的事情,我很想建立一个 Action 字典

编辑:已更新以包含文档参数以响应 OP 的评论

    Dictionary<string, Action<XmlDocument>> versionSpecificMethods = new Dictionary<string, Action<XmlDocument>>{
{"1.0.0.0", DoStuff1},
{"1.2.3.4", DoStuff2},
{"3.1.7.182", DoStuff3}};

private void RunMethodForVersion(string version, XmlDocument someXmlDoc)
{
var codeToRun = versionSpecificMethods[version];
codeToRun.Invoke(someXmlDoc);
}

private static void DoStuff1(XmlDocument doc)
{
// Insert user code here
}

关于c# - 不同版本解析文件不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49409656/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com