1、GetType
(1)Object.GetType()
该方法是所有对象都有的方法,MSDN中的解释是“获取当前实例的 Type。”。该方法的返回值是System.Type类型的实例,表示当前实例的确切运行时类型。
例如:
(2)VB.NET类型中的GetType方法
参考MSDN中的解释:返回指定类型的 Type 对象。Type 对象提供有关类型的信息,如类型的属性、方法和事件。
用法:GetType(typename),其中typename是需要获取其信息的类型的名称。
例如:
(3)Type.GetType系列方法
System.Type类型中的GetType方法一共有4个,其中不带参数的GetType()是继承自Object的实例方法,其他三个是静态方法(C#中为static,VB.NET中为Shared)。实例方法不用介绍了,就是Object.GetType()。静态方法是通过类型名称的字符串获取System.Type。MSDN中的解释有一大篇,这里只给出简单示例:
注意这里的类型名称必须是包含命名空间的全名,即System.Type的FullName,不能是C#或者VB.NET中的类型名称,如C#中的"int"或者VB.NET中的"Integer"
2、typeof
在C#和VB.NET类型中都有typeof关键字,但它们的用法却不一样。
C#中typeof相当于VB.NET中的GetType,用于获取指定类型的 Type 对象。
用法
VB.NET类型中的TypeOf则总是与Is关键字一起用于构造TypeOf…Is表达式。MSDN中对该关键字的解释是:比较对象引用变量与数据类型。需要注意的是该表达式只能针对引用类型,如果把下面的示例中的i声明为Integer则会出错。
VB.NET用法: