读书人

父类的static函数中能得到子类的类型吗

发布时间: 2011-12-30 23:30:45 作者: rapoo

父类的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不好吗?
[解决办法]
考虑用模版

读书人网 >C#

热点推荐