繁体   English   中英

MEF如何管理实例化导出的部件,该部件是外部组件的内部类?

[英]How does MEF manage to instantiate an exported part which is an internal class of an external assembly?

我的问题很简单,但遗憾的是我找不到任何答案。

使用MEF ,我可以在类库程序集中指定一些内部导出和导入,如下所示:

[Export]
internal class SomeExport
{ }

[ModuleExport(typeof(SomeModule))]
internal class SomeModule : IModule
{ 
    [ImportingConstructor]
    internal SomeModule(SomeExport instance)
    { }
}

我的CompositionContainer位于主EXE程序集中,但不知何故它设法在类库程序SomeExport实例化SomeExport对象,以便我可以使用它。 通常,我的内部类库类型不应该从EXE程序集中访问,但不知何故我创建了我的实例。

它是如何工作的?

MEF通常使用反射来发现部件并实例化它们。 反思不受internal甚至private能见度的限制。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM