日期:2014-05-19  浏览次数:20825 次

父类的static函数中能得到子类的类型吗?
如我有以下两个类
class   A
{
            protected   static   string   MyGetType()
            {}
}

class   B   :   A
{    
}

我想在调用B.MyGetType()时,在MyGetType()中获取B的类型,能做到吗?
不要用protected   static   string   MyGetType(Type   objType)的方式。

------解决方案--------------------
class A本身是不知道会被那些子类继承的 ,所以不可以

静态函数是在编以后就确定地址的,而虚函数是晚邦定的,所以这两方是矛盾的
------解决方案--------------------
ToString是虚函数,当然可以了,你要的静态函数办不到
------解决方案--------------------
不可以的,使用虚方法

------解决方案--------------------
B.MyGetType()这个方法有什么意义?等于拿着钥匙问别人钥匙在哪里。
typeof(B).Name不好吗?
------解决方案--------------------
考虑用模版