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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With