GetType()与Typeof()的区别 举了2个案例

GetType()与Typeof()区别

GetType()返回的是对象的类名
案例1:

int i = 5;Console.WriteLine(i.GetType());//System.Int32var x = 127.25m;Console.WriteLine(x.GetType());//System.Decimal

案例2:

namespace _2011._12._15{    class Program    {        static void Main(string[] args)        {            Test testone = new Test();            string s = testone.GetType().ToString();            Console.WriteLine(s);//_2011._12._15.Test  命名空间的Test类        }    }    class Test    {         }}

Typeof()返回的是类名的对象,也可以返回类名,也可以返回特定类内部的方法和字段

namespace _2011._12._15{    class Program    {        static void Main(string[] args)        {            Test testone = new Test();            string s = testone.GetType().ToString();            Console.WriteLine("GetType():");            Console.WriteLine(s);//_2011._12._15.Test  命名空间的Test类

            Type type = typeof(Test);            Console.WriteLine("Typeof():");            Console.WriteLine(type);//_2011._12._15.Test  命名空间的Test类            Console.WriteLine();

           MethodInfo[] methodinfo = type.GetMethods();

           Console.WriteLine(methodinfo.GetType());//System.Reflection.MethodInfo[]            foreach (var i in methodinfo)            {                Console.WriteLine(i);//输出Test类的所有方法及继承Object的实例方法            }            Console.WriteLine();            Console.WriteLine();            Console.WriteLine();            Console.WriteLine();            MemberInfo[] memberinfo = type.GetMembers();            Console.WriteLine(memberinfo.GetType());            foreach(var i in memberinfo)            {                Console.WriteLine(i);//输出Test类字段和System.type类型            }        }

    }

    class Test    {

        private int age;        public string name;        public void speaking()        {            Console.WriteLine("Welcome to cnblog!");        }

        public void writing()        {            Console.WriteLine("Please writing something!");        }    }}

运行结果:

GetType():_2011._12._15.TestTypeof():_2011._12._15.Test

System.Reflection.MethodInfo[]Void speaking()Void writing()System.Type GetType()System.String ToString()Boolean Equals(System.Object)Int32 GetHashCode()

System.Reflection.MemberInfo[]Void speaking()Void writing()System.Type GetType()System.String ToString()Boolean Equals(System.Object)Int32 GetHashCode()Void .ctor()System.String name

时间: 2024-12-28 00:54:55

GetType()与Typeof()的区别 举了2个案例的相关文章

c# GetType()和typeof()的区别

c#   GetType()和typeof()的区别 C#中任何对象都具有GetType()方法,返回Type类型的当前对象的类型. GetType()是基类System.Object的方法,因此只有建立一个实例之后才能够被调用. typeof(x)中的x,必须是具体的类名.类型名称等,不可以是变量名称: The typeof operator is used to obtain the System.Type object for a type. typeof的参数只能是int,string,

C# GetType和typeof的区别

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.G

c#种GetType()和TypeOf()的区别

C#中任何对象都具有GetType()方法,它的作用和typeof()相同,返回Type类型的当前对象的类型. typeof(x)中的x,必须是具体的类名.类型名称等,不可以是变量名称:GetType()是基类System.Object的方法,因此只有建立一个实例之后才能够被调用. Typeof的参数只能是int,string,String,自定义类型,且不能是实例 GetType()和typeof都返回System.Type的引用. TypeOf():得到一个Class的Type GetTyp

GetType() 和typeof() 的区别

GetType() 非强类型,支持跨程序集发射,用来支持动态引用, A obja=new A(); Type t=obja.GetType() typeof() 强类型,静态的 Type t=typeof(A)

c# 之 System.Type.GetType()与Object.GetType()与typeof比较

Object.GetType()与typeof的区别 //运算符,获得某一类型的 System.Type 对象. Type t = typeof(int); //方法,获取当前实例的类型. int i = 10; Console.WriteLine(i.GetType());//区别Typeof()是运算符而GetType是方法GetType()是基类System.Object的方法,因此只有建立一个实例之后才能被调用(也就是创建实例)Typeof()的参数只能是lint,string,类,且不

C#方法--Gettype()和typeof()区别

Gettype()和typeof()区别 在比较对象时,需要了解他们的类型,才能决定他们的值是否能比较.所有的类都从System.Object中继承了GetType()方法,常常与typeo()运算符一起使用. 两者都返回Syetem.Type的引用. 所以很有必要区分下两者的区别: 1.Gettype()是从System.Object中继承的方法,返回值为type类型当前对象的类型:typeof(XX)是运算符,XX必须是具体的类名.类型名称等,不可以是变量名. 2.Gettype()必须是创

GetType()与typeof()

1.GetType()获取当前实例的运行时类型, 方法原型为 public System.Type GetType() 属于Object的实例方法 即无论是.net框架类库中的类还是用户自己创建的类,都包含此方法,使用方法为: 对象名.GetType() 2.typeof()返回特定类型的 System.Type 对象 ,并可通过Type对象访问基类及本类一些信息 GetType()与typeof()

JavaScript instanceof和typeof的区别

引用自:   http://www.cnblogs.com/eoiioe/archive/2008/12/31/1366081.html instanceof和typeof都能用来判断一个变量是否为空或是什么类型的变量.  typeof 用来获取一个变量的类型,typeof一般只能返回如下几个结果:number,boolean,string,function,object,undefined.  我们可以使用 typeof 来获取一个变量是否存在,如if(typeof a!="undefined

JavaScript中instanceof运算符的用法以及和typeof的区别

instanceof : 为判断一个对象是否为某一数据类型,或一个变量是否为一个对象的实例;返回boolean类型栗子①: <script type="text/javascript"> var aColors = ["red", "green", "blue"]; alert(typeof aColors[0]); //output "string" alert(aColors[0] inst