using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Reflection;
namespace ConsoleApplication1
{class Program{static void Main(string[] args){//System.Type类//=========================获取指向任何给定的类型的Type引用有3中常用模式//第一种:Type t1 = typeof(int);//第二种:bool d = true;Type t2 = d.GetType();//第三种:Type t3 = Type.GetType("System.Double");//=========================Type属性Console.WriteLine(t1.Name);         //Int32Console.WriteLine(t1.Namespace);    //SystemConsole.WriteLine(t1.FullName);     //System.Int32//进一步获取基层的TypeConsole.WriteLine(t1.BaseType.FullName); //System.TypeValueConsole.WriteLine(t2.UnderlyingSystemType.FullName); //System.Boolean(该type在.net运行库映射到的类型)//判断Type的类型Console.WriteLine(t1.IsPrimitive);//True(是否是预定义类型)Console.WriteLine(t1.IsClass);//Flase(是否是类)//=========================Type方法//获取该数据类型的成员信息//MemberInfo[] mi = t1.GetMembers(BindingFlags.Instance | BindingFlags.Public);//筛选出公共成员MemberInfo[] mi = t1.GetMembers();//获取所有的成员foreach (var item in mi){//                声明类型              描述成员的类型(方法,字段,等)      成员的名称Console.WriteLine(item.DeclaringType + "\t" + item.MemberType + "\t" + item.Name);}Console.ReadKey();}}
}