首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

声明父亲,实例儿子的GetType()解决方案

2012-01-19 
声明父亲,实例儿子的GetType()C# code//类public class Father{}public class Child1:Father{}public clas

声明父亲,实例儿子的GetType()

C# code
//类    public class Father    {    }    public class Child1:Father    {    }    public class Child2:Father    {    }

当声明 
Father f1,c1,c2;
f1=new Father();
c1=new Child1();
c2=new Child2();
这三个变量的Type 各是什么,为什么。

望达人解答!

[解决办法]
gettype()是object类一虚方法,获取当前实例的类型.
f1.gettype()==typeof(father);
c1.gettype()==typeof(child1);
c2......
[解决办法]
探讨
gettype()是object类一虚方法,获取当前实例的类型.
f1.gettype()==typeof(father);
c1.gettype()==typeof(child1);
c2......

[解决办法]
GetType()是object类的一个实例方法,不是虚方法
C# code
[MethodImpl(MethodImplOptions.InternalCall)]public extern Type GetType();
[解决办法]
GetType()方法是非虚方法,为的是防止一个类重写该方法,并隐藏其类型,从而破坏类型安全性。所以一楼在胡扯。
[解决办法]
不会因为c1,c2是Father的引用,而使得GetType也得到Father
比如object obj=5;
GetType会得到int,而不是object
[解决办法]
你可以看看msdn上object类中关于gettype方法的说明,看看它的功能到底是什么就明白了
[解决办法]
探讨
GetType()方法是非虚方法,为的是防止一个类重写该方法,并隐藏其类型,从而破坏类型安全性。所以一楼在胡扯。

[解决办法]
看看~~~
[解决办法]
探讨
GetType()方法是非虚方法,为的是防止一个类重写该方法,并隐藏其类型,从而破坏类型安全性。所以一楼在胡扯。

热点排行