我有一个类是XPath的集合。我想要传递字段的名称,并想要获取该字段的XPath。这里的问题是我必须将传递的值存储在变量中,并设置if条件,以检查相应的XPath变量,如下所示。
到目前为止,我正在使用if条件,也可以使用switch条件,但是此解决方案不可行,因为XPath的集合将增长,并且变得难以管理。
class Program
{
static void Main(string[] args)
{
Console.WriteLine(new Program().IReturnXpath("LastName"));
}
public string IReturnXpath(String nameOfField)
{
if (nameOfField.Equals("Lastname"))
return new XpathCollection().Lastname;
else if (nameOfField.Equals("Firstname"))
return new XpathCollection().Firstname;
else
return "Xpath not found";
}
class XpathCollection
{
public string Lastname = "xpath for lastname";
public string Firstname = "xpath for firstname";
}
}
答案 0 :(得分:0)
让我解释一下Microsoft如何解决完全相同的问题。
System.Drawing.Color
具有许多属性,每个属性反映一种颜色。 Color
还有一个FromName
方法,可让您通过字符串参数查找颜色。几乎就是您的问题。
正如您在他们的实现中所看到的,他们创建了Hashtable
并通过反射将其填充。下次有人要求颜色时,他们只是查找并返回颜色。将生成代码放入静态构造函数中即可。