Automatisk sæt instanser ud fra constructor parametre?
Hejsa folkens.Se nu er jeg jo af natur doven, og vil helst tjene så mange penge som muligt, men lave mindst muligt arbejde for dem.
Eller i hvert fald mindst muligt rugbrødsarbejde :-)
En ting jeg ofte synes er lidt trivielt når man arbejder med Unity og Dependency Injection er at man skal sætte this.xxx = parameternavn.
Det må da kunne gøres smartere? Kan man ikke lave et eller andet som automatisk gør det for en og som ikke kræver at man reflecter sin klasse hver gang? Jeg kan godt se hvordan det kan gøres i en base klasse med reflection, men er der ikke en smartere måde at automappe på i C#? Reflection koster jo, hvis det skal gøres hver gang Unity skal resolve en instans for mig.
Jeg har ofte 100 - 200 klasser som jeg skal gøre dette for i et projekt. Det ville være fedt med en one liner, som bare gjorde det hele selv. Altså forsøgte at finde et match mellem de her "private readonly interfaces" og de parametre som findes i constructoren. Eksempel på det jeg gerne vil undgå herunder.
public class ProductDetailsController : BaseComponent
{
private readonly IViewMapFactory factory;
private readonly IProductService productService;
private readonly IWorkService workService;
public ProductDetailsController(IViewMapFactory factory, IProductService productservice, IWorkService workservice)
{
this.factory = factory;
this.productService = productservice;
this.workService = workservice;
ViewPath = "~/Views/ProductDetails.cshtml";
}
.......
Mvh.
Lasse