如何访问程序集的内部类?说我要访问System.ComponentModel.Design.DesignerHost。这里的DesignerHost是一个内部密封类。
如何编写代码以加载程序集和类型?
通常,您 不应该这样 做-如果类型已标记为内部类型,则意味着您不打算在程序集外部使用它。可以在更高版本中将其删除,更改等。
但是,反射 确实 允许您访问非公共的类型和成员- 只需查找带有BindingFlags参数的重载,并将其包含BindingFlags.NonPublic在传递的标志中即可。
BindingFlags
BindingFlags.NonPublic
如果您具有类型的 完全限定 名称(包括程序集信息),则只需调用即可Type.GetType(string)。如果您事先知道该程序集,并且知道该程序集内的公共类型,那么使用typeof(TheOtherType).Assembly获取程序集引用通常比较简单,则可以调用Assembly.GetType(string)。
Type.GetType(string)
typeof(TheOtherType).Assembly
Assembly.GetType(string)