C# typeof 与GetType()的区别

Posted Herzog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# typeof 与GetType()的区别相关的知识,希望对你有一定的参考价值。

  C#中Type类的介绍:https://msdn.microsoft.com/zh-cn/library/system.type(VS.80).aspx

 

  C#中任何对象都具有GetType()方法,它的作用和typeof()相同,返回Type类型的当前对象的类型。typeof(x)中的x,必须是具体的类名、类型名称等,不可以是变量名称;GetType()是基类System.Object的方法,因此只有建立一个实例之后才能够被调用

 

两者区别:

  1、Typeof是运算符而是方法

  2、GetType()是基类System.Object的方法,因此只有建立一个实例之后才能够被调用(初始化以后)

  3、Typeof的参数只能是int,string,String,自定义类型,且不能是实例

  4、GetType()和typeof都返回System.Type的引用.

  5、TypeOf():得到一个Class的Type

  6、 GetType():得到一个Class的实例的Type

以上是关于C# typeof 与GetType()的区别的主要内容,如果未能解决你的问题,请参考以下文章

使用 GetType() 和 typeof() 获取 Type 有啥区别? [复制]

Unity 通过Type来new对象

GetType、typeof 和 is,处理 null 和转换 [重复]

C#基础系列 - 反射基础

何时何地使用 GetType() 或 typeof()? [复制]

比较对象类型时 typeof 和 is 有啥区别? [复制]