c#中泛型参数与object参数导致重写无效。

今天在写程序的时候突然发现了这个怪现象

有如下2个方法:

public XmlDocument SerializeToXmlDocument(object obj);

public XmlDocument SerializeToXmlDocument<T>(T obj);

如果按照重写概念,那么这2个方法应该是不同的。

但是实际我在调用SerializeToXmlDocument(object)的时候,发现居然进入了SerializeToXmlDocument<T>(T obj)方法。

恰巧在我的程序里面SerializeToXmlDocument<T>(T obj);又调用了SerializeToXmlDocument(object obj);因此导致死循环,

最后堆栈溢出而亡。

贴出来,希望对他家有用。

posted @ 2009-01-16 15:56  遥望星空  阅读(702)  评论(0编辑  收藏  举报