No, il contenitore DI/IoC integrato viene intenzionalmente mantenuto semplice sia nell'uso che nelle funzioni per offrire una base per altri contenitori DI al plug-in.
Quindi non esiste un supporto integrato per: Rilevamento automatico, Registrazioni automatiche, Decoratori o Iniettori o registrazioni basate su convenzioni. Non ci sono piani per aggiungere questo al contenitore integrato, per quanto ne so.
È necessario utilizzare un contenitore di terze parti con supporto per l'iniezione di proprietà.
Si noti che l'iniezione di proprietà è considerata non valida nel 98% di tutti gli scenari, poiché nasconde le dipendenze e non vi è alcuna garanzia che l'oggetto venga iniettato quando viene creata la classe.
Con l'iniezione del costruttore è possibile imporlo tramite costruttore e verificare null e non creare l'istanza della classe. Con l'iniezione di proprietà questo è impossibile e durante i test unitari non è chiaro quali servizi/dipendenze la classe richiede quando non sono definiti nel costruttore, quindi è facile perdere e ottenere NullReferenceExceptions
.
L'unico motivo valido per Property Injection che ho riscontrato è stato quello di iniettare servizi in classi proxy generate da una libreria di terze parti, ovvero proxy WCF creati da un'interfaccia in cui non si ha alcun controllo sulla creazione dell'oggetto.
Evitarlo ovunque altro.
Correlati: https://stackoverflow.com/questions/39849142/when-to-use-property-injection – Steven