假设我有两个包含静态变量XmlTag的类。第二类继承自第一类。我有一个模板方法,需要根据它使用的类型来获取XmlTag。什么是最好的方式来实现这一点,而不必创建一个类型的实例?这里有一个例子(不会编译),应该有希望说明我在说什么。访问静态变量的模板方法问题
class A{
public static readonly string XmlTag = "AClass";
}
class B : A {
public static readonly string XmlTag = "BClass";
}
此方法当前无效..静态变量显然无法从Type参数中访问。
string GetName<T>(T AClass) where T : A
{
return T.XmlTag;
}
谢谢你的回复。你的文章是一个有趣的阅读。我的问题很简单,但我很难想出一个好的解决方案:我有几个子类,每个子类都有自己独特的XML标签常量。我有一个泛型方法Load(),它接受任何这些子类,并从XmlNode中加载该类的实例。 Load()需要根据正在使用的类型获取xml标签,以便知道要查找哪些xml标签。 – Mav3rick 2009-07-02 20:25:36
只有在找到xml标签后才会实例化子类。 – Mav3rick 2009-07-02 20:33:03