c#中GetType()与Typeof()的区别
c#中GetType()与Typeof()的区别
发布时间:2016-12-28 来源:查字典编辑
摘要:案例1:复制代码代码如下:inti=5;Console.WriteLine(i.GetType());//System.Int32varx=...

案例1:

复制代码 代码如下:

int i = 5;

Console.WriteLine(i.GetType());//System.Int32

var 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.Test

Typeof():

_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

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新C#教程学习
热门C#教程学习
编程开发子分类