C# GetType()与Typeof()的区别
2014-06-07 17:47
423 查看
GetType()与Typeof()区别GetType()返回的是对象的类名;案例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.TestTypeof():_2011._12._15.TestSystem.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
转自:http://www.cnblogs.com/IAmBetter/archive/2011/12/15/2288990.html
相关文章推荐
- C# typeof() 和 GetType()区别
- C#中的typeof()和GetType()的区别
- c# 多线程中lock用法经典实例及lock("xxx"),lock(typeof(Class)),Lock(this)的区别
- C# GetType和typeof()的区别
- C# typeof 和 GetType区别
- C# typeof() 和 GetType() 的区别
- C# GetType和typeof的区别
- C# typeof 和 GetType区别
- C# typeof() 和 GetType()区别
- C# TypeOf 和GetType的区别
- C#中typeof 与GetType()的区别
- 【技术】C#入门:typeof()和GetType()的区别
- C# GetType和typeof的区别
- C# typeof() 和 GetType()区别
- c#种GetType()和TypeOf()的区别
- C#中typeof 与GetType()的区别和methodinfo、memberinfo反射
- C#中的typeof()和GetType()的区别
- c#中GetType()与Typeof()的区别
- c# typeof() 和 GetType()的区别
- C# typeof() 和 GetType()区别