using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
namespace TypeOf返回类的类型
{
class Test//测试类
{
public int IntName;
public static int StaticIntName;
public int Name
{ get; set; }
public Test()
{
}
public void Display()
{
Console.WriteLine("Test");
}
public static void Display1()
{
}
}
class Program
{
static void Main(string[] args)
{
// Type//类型
//TestType不是Test的对象,是数据类型,Test的数据类型
//如果把所有的数据类型,看作“对象”,Type是这些对象“类”
System.Type TestType = typeof(Test);
//TestType 通过typeof,把Test类解剖。
Console.WriteLine("TestType的数据类型全称是:"+TestType);//显示这个类的名称
MethodInfo[] methodinfos = TestType.GetMethods();//返回所有“公共”方法
Console.WriteLine("\n以下返回Test类的方法成员MethodName:");
foreach (MethodInfo mi in methodinfos)//遍历公共方法集合
{
Console.WriteLine(mi); //逐个显示公共方法
}
MemberInfo[] memberinfo = TestType.GetMembers();//返回所有“公共”成员
Console.WriteLine("\n以下返回Test类的所以元数据成员MemberName");
foreach (MemberInfo mi in memberinfo)//遍历每个公共成员
{
Console.WriteLine(mi);//输出“字段”及System.Type"类型"
}
Console.ReadLine();
// 利用GetType()返回的对象也可实现
}
}
}