Penso che quello che sto cercando sia qualcosa di molto semplice, ma non riesco a trovare alcun esempio. Mi piacerebbe usare Ninject per creare un oggetto da avere Ninject chiamare un metodo factory con un parametro specificato e non per iniezione durante la richiesta effettiva per creare un'istanza dell'oggetto:Interfaccia di binding tramite ToMethod a un metodo con un parametro
Richiesta di un oggetto qui:
StandardKernel.Get<ISomeInteface>(new Ninject.Parameters.Parameter("dataContext", dataContext, true));
E mi piacerebbe mappare ISomeInterface ad un metodo che si aspetta un valore da passare ad esso in fase di runtime.
Mappatura un'interfaccia qui:
Kernel.Bind<ISomeInterface>().ToMethod(SomeObject.Create(--> `what do I put here?`));
è possibile? In tal caso, come faccio a mappare correttamente la mia interfaccia? Grazie!
Grazie per la risposta! Sfortunatamente, il codice non viene compilato. E sì, sto pianificando di chiamare il metodo factory dalle radici composite .. c'è una gerarchia di ereditarietà per quelle (dato che ce ne sono molte) e ho una singola factory per tutte loro per usare – Igorek
il compilatore sta avendo problemi la conversione tra oggetto Parametro e oggetto IDataContext che la funzione Create() richiede – Igorek
Sry Ho dimenticato di aggiungere .GetValue() risposta aggiornata –