System.ComponentModel.Composition (MEF1) has the ability to supply imports to an already-instantiated object, via the ComposeExportedValue<T>(T exportedValue) method. As requested by @ZigMeowNyan and @jabbera in dotnet/runtime#15362, it would be useful to have this ability in System.Composition (MEF2).
We need formal API proposal
Add methods to ContainerConfiguration class:
c#
public ContainerConfiguration WithInstance<TExport> (TExport instance);
public ContainerConfiguration WithInstance<TExport> (string contractName, TExport instance);
public ContainerConfiguration WithInstance (Type t, object instance);
public ContainerConfiguration WithInstance (Type t, string contractName, object instance);
Just adding a +1 to this request. Heavily reliant on ComposeExportedValue and without it, or a sensible workaround, will have to completely redesign my system in order to port to .Net Core
This is very frustrating lack of functionality, I join @siobhanc in his comment
+1 for this
+1 (Surprised nothing has happened after 2.5 years!)
Nobody has made a formal API proposal. Guidelines for the format are in the docs folder in this repo. Then the API board can review. If approved, we would welcome a PR with tests from the community.
@danmosemsft Care to provide a direct link to the guideline?
Sure...was on phone. Here
https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/api-review-process.md
I believe this is now tracked with #29400
Most helpful comment
Add methods to ContainerConfiguration class:
c# public ContainerConfiguration WithInstance<TExport> (TExport instance); public ContainerConfiguration WithInstance<TExport> (string contractName, TExport instance); public ContainerConfiguration WithInstance (Type t, object instance); public ContainerConfiguration WithInstance (Type t, string contractName, object instance);