Sto riscontrando un po 'di difficoltà nell'usare StructureMap
per servizi in cui è presente un argomento nullable nel costruttore. CioèStructureMap che passa null nel costruttore
public JustGivingService(IRestClient restClient = null)
Nella mia configurazione, con tutti gli altri servizi, sono solito in grado di farla franca con il minimo, in modo che il problema qui è probabilmente solo una mancanza di comprensione. Mi piacerebbe fare questo:
container.For<IJustGivingService>().Use<JustGivingService>()
Tuttavia, a causa del parametro nullable, troverò che avrò bisogno di usare questo invece di farlo funzionare:
RestClient restClient = null;
container.For<IJustGivingService>().Use<JustGivingService>()
.Ctor<IRestClient>("restClient").Is(restClient);
Tuttavia, questo mi sento un po 'sporco e credo che questo sia un trucco per quello che sto cercando di ottenere piuttosto che il modo standard per farlo. Se c'è un modo migliore per farlo, le informazioni di accompagnamento sul perché sarebbero molto apprezzate.
Una leggera alternativa è 'container.For() Utilizzare () ctor ("restClient") è (() => null); 'Elimina la variabile almeno –
Thymine
@Thymine Grazie mille! Questo è ciò che ha funzionato dopo 4 ore di sbattere la testa sul motivo per cui StructureMap non ha voluto risolvere la mia istanza con un parametro null nel mio costruttore. – silkfire
@Thymine ty tanto !! – RPM1984