当前位置: 代码迷 >> ASP.NET >> GetType跟typeof有什么分别
  详细解决方案

GetType跟typeof有什么分别

热度:6297   发布时间:2013-02-25 00:00:00.0
GetType和typeof有什么分别
不太分得清

------解决方案--------------------------------------------------------
XX.GetType() 这个XX是对象

typeof(XX) 这个XX是类型
------解决方案--------------------------------------------------------
GetType是得到它的类型

typeof是转换类型
------解决方案--------------------------------------------------------
假定你有两个类,一个是 Animal,另一个是 Cat,那么:

Animal a = new Cat();
Type t = typeof(Animal); // 返回的对象代表 Animal 类型
t = a.GetType(); // 返回的类型是 a 的运行时类型,也就是 Cate 类型


------解决方案--------------------------------------------------------
typeof: The typeof operator is used to obtain the System.Type object for a type.



运算符,获得某一类型的 System.Type 对象。



Type t = typeof(int);





GetType: Gets the Type of the current instance.



方法,获取当前实例的类型。



int i = 10;

Console.WriteLine(i.GetType());



区别:



Typeof()是运算符而GetType是方法
GetType()是基类System.Object的方法,因此只有建立一个实例之后才能够被调用(初始化以后)
Typeof()的参数只能是int,string,String,自定义类型,且不能是实例



GetType() 和typeof()都返回System.Type的引用。
  相关解决方案