Esiste uno schema denominato Iniezione del costruttore. Questo schema è utile soprattutto per testare le unità e condividere la logica. Ecco un esempio
public class SomeClass
{
private ISomeInterface _someInterface;
public SomeClass() : this (null){} //here mostly we pass concrete implementation
//of the interface like this(new SomeImplementation())
public SomeClass(ISomeInterface someInterface)
{
_someInterface = someInterface;
//Do other logics here
}
}
Come vedete qui, i test di unità saranno facili passando l'implementazione falsa. Inoltre, la logica è condivisa (DRY). E fai tutta la logica all'interno del costruttore che prende il maggior numero di parametri
Ma nel tuo caso, passa null, quindi è un contesto basato. Devo sapere qual è il tuo contesto.
fonte
2013-02-13 18:58:50
Vedere: [Concatenamento costruttore C#] (http://stackoverflow.com/q/1814953/) –
Pulisce leggermente l'API e riduce la duplicazione del codice riutilizzando il costruttore implicito a parametro singolo. – JosephHirn