Sto avendo qualcosa di simile:valore Iniettare in dipendenza iniettato
class Root
{
public Root(IDependency dep)
{}
}
class Dependency:IDependency
{
public Dependency(int val)
{}
}
E io sto cercando di ottenere un riferimento a root usando Ninject. Così ho configurato in questo modo
var module = new InlineModule(mod => mod.Bind<IDependency>().To<Dependency>());
var kernel = new StandardKernel(module);
mi piacerebbe iniettare in dipendenza qualche valore 'val' che è nota solo al momento di ottenere il riferimento principale da Ninject.
Quello che mi piacerebbe fare è qualcosa di simile:
Kernel.Instance.Get<Root>(With.Parameters.ConstructorArgument("val", 12));
è qualcosa di simile possibile utilizzando Ninject 1.0?
credo che avrei potuto fare un po 'più semplicemente come: Bind() .Per () .WithConstructorArgument ("val", (IContext cont) => \t \t cont.ParentContext.Parameters. ottenere ("val")); Ma non mi piace usare ParentContext. :(It –
Silviu
@Silviu: Provalo - il più breve è il migliore, mi sembrava che avesse senso direttamente come quello che stavi chiedendo, ma non riuscivo a farlo funzionare nel contesto in cui lo stavo provando .. –
@ Silviu: L'hai fatto come parte del lavoro di 'Bind'? Iff quindi, se vuoi inserire qualcosa che funzioni nei commenti, lo inserirò negli esempi. –