Mar 30, 2012 at 4:16 PM
Edited Mar 30, 2012 at 4:18 PM
I know there have been lot of questions regarding constructor parameter injection using MEF, but mine is a bit different.
I want to know that is there any way to pass different parameter values to the constructor of a part when I am using the combination of
public partial class Foo
public Foo([Import("SomeParam")]object parameter)
and somewhere else...
container.ComposeExportedValue("SomeParam", "Some value...");
var instance = container.GetExportedValue<Foo>();
In the above example, I can use
ComposeExportedValue only once, as running it a second time will cause a
So, my questions are:
- Is there any other way to change the value of
SomeParam in the above scenario, for each new instance?
- If not, what are the other ways this can be accomplished without using any other DI framework? One thing which comes to mind is to create a service to expose something like
System.Collections.Concurrent.ConcurrentQueue where I enqueue a
parameter value before calling
GetExportedValue and then dequeue the value in the constructor of the part. But that is a hack and also creates more issues than it solves.
Thanks for any help. :)