gpt4 book ai didi

c# - MEF 如何设法实例化作为外部程序集的内部类的导出部件?

转载 作者:太空狗 更新时间:2023-10-29 18:28:59 25 4
gpt4 key购买 nike

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

使用 MEF ,我可以像这样在类库程序集中指定一些内部导出和导入:

[Export]
internal class SomeExport
{ }

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

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

它是如何工作的?

最佳答案

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

关于c# - MEF 如何设法实例化作为外部程序集的内部类的导出部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27150684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com