equivalente Ninject metodo Unity registerInstance
-
12-09-2019 - |
Domanda
La Ninject hanno e metodo equivalente per registerInstance di unità.
Voglio creare un oggetto fittizio e registrarlo.
Grazie
Soluzione
Ecco la risposta semplice
Bind<IMyType>().ToConstant<MyType>(new MyType());
Quindi, ecco un esempio con Moq:
var mock = new Mock<IMyType>();
//Setup your mock expectations / etc here.
//...
Bind<IMyType>().ToConstant(mock.Object);
Bonus risposta:
Trovo che alcune persone sono in realtà solo cercando di creare un'istanza di Singleton di una particolare classe, piuttosto che in realtà la creazione di loro stessi (questo permette l'oggetto da creare quando qualcosa lo richiede, piuttosto che quando si sta costruendo il vostro contenitore) . Questo viene fatto in questo modo:
Bind<IMyType>.To<MyType>().Using<SingletonBehavior>();
Nel tuo caso, dal momento che hai detto la parola "finto", mi piacerebbe che ci si vuole assumere la prima piuttosto che la seconda risposta, ma è una buona cosa da sapere.
Altri suggerimenti
Non so che tipo di strumento beffardo, se del caso, o versione di Ninject si sta utilizzando; tuttavia, vale la pena ricordare che Ninject 2 ha un'estensione per esso che fornisce l'integrazione con Moq - http: // github.com/enkari/ninject.moq .
Mi rendo conto che questo non risponde direttamente alla tua domanda, Anderson fa molto bene, ma pensato che potrebbe essere rilevante in ogni caso.