static void Main(string[] args)
{
MyClass mc = new MyClass();
Type t = mc.GetType();
Console.WriteLine("字段:");
foreach (FieldInfo fi in t.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic))
Console.WriteLine("名称:" + fi.Name + ",类型:" + fi.FieldType.Name);
Console.WriteLine("属性:");
foreach(PropertyInfo pi in t.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic))
Console.WriteLine("名称:" + pi.Name + ",类型:" + pi.PropertyType.Name);
Console.WriteLine("方法:");
foreach(MethodInfo mi in t.GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic))
Console.WriteLine("名称:"+mi.Name+",返回类型:"+mi.ReturnType.Name);
}
class MyClass
{
private int i;
public int I;
private string s;
public string S
{
get { return s; }
set { s = value; }
}
public void Method()
{ }
}