//此程序可以得到类、结构、枚举、接口等数据类型的结构
using System;
using System.Reflection;
using System.Windows.Forms;
using System.IO;
//如果要获得类frm的成员信息,类frm不能放到类getmember中。
class frm:Form
{
public int x1;
public frm()
{x1=1;}
}
class getmember
{
public static void Main()
{
Console.WriteLine("System.");
string testclass="frm";
Type mytype=Type.GetType(testclass);
MemberInfo[] mymemberinforarray=mytype.GetMembers();
//获得成员数量
Console.WriteLine("The {0} have {1} Members.",mytype.FullName,mymemberinforarray.GetLength(0));
//输出成员数据到文件1.txt
///*-------------------------------------------------------------------------------------------------------------------------------------------------
FileStream fs=new FileStream("1.txt",FileMode.OpenOrCreate);
try
{
StreamWriter sw=new StreamWriter(fs);
for(int counter=0;counter<mymemberinforarray.GetLength(0);counter++)
{
sw.WriteLine("{0}:{1} member Type-{2}",counter,mymemberinforarray[counter].Name,mymemberinforarray[counter].GetType().ToString());
}
sw.Close();
}
catch(Exception e)
{
Console.WriteLine("在写文件时发生了以下异常:/n{0}",e);
}
finally
{
fs.Close();
}
//*/-------------------------------------------------------------------------------------------------------------------------------------------------
for(int counter=0;counter<mymemberinforarray.GetLength(0);counter++)
{
Console.WriteLine("{0}:{1} member Type-{2}",counter,mymemberinforarray[counter].Name,mymemberinforarray[counter].GetType().ToString());
}
Console.WriteLine("程序结束。");
}
}