My question is pretty simple, but unfortunately I could not find any answer yet.
Using MEF , I can specify some internal exports and imports in a class library assembly like that:
[Export]
internal class SomeExport
{ }
[ModuleExport(typeof(SomeModule))]
internal class SomeModule : IModule
{
[ImportingConstructor]
internal SomeModule(SomeExport instance)
{ }
}
My CompositionContainer is located in the main EXE assembly, but somehow it manages to instantiate the SomeExport
object inside the class library assembly so I can use it. Normally, my internal class library types should not be accessible from the EXE assembly, but somehow I get my instances created.
How does it work?
MEF typically uses reflection to discover parts and instantiate them. Reflection is not limited by internal
or even private
visibility.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.