http://chs.gotdotnet.com/quickstart/howto/

解决方案 »

  1.   

    http://chs.gotdotnet.com/QuickStart/howto/default.aspx?url=/quickstart/howto/doc/GetTypes.aspx
      

  2.   

    参考
    ms-help://MS.VSCC/MS.MSDNVS.2052/cpguide/html/cpconreflectionoverview.htm
      

  3.   

    所有的.Net编译器在产生模块(Modules)的目标代码时都会产生有关类型的元数据(metadata), 这种元数据被捆绑在模块目标代码上(多个模块组成assemblies, 一个assembly是.Net下安全控制的基本单位,也是类型对象识别的基本单位), 这种元数据可以通过.Net环境下的reflection对象访问. System.Reflection名字空间下包含了可以访问这种数据的多种类. 使用reflection访问.Net元数据和使用ITypeLib/ITypeInfo访问COM对象的类型库数据非常类似. 例如, 决定类型数据的大小, 通过(程序上下文/进程/机器)边界列集数据传递. 所以, 可以使用Reflection对象动态引用方法(可以查看System.Type.InvokeMember), 甚至还可以动态地在运行时产生类型(System.Reflection.Emit.TypeBuilder)