Avatar billede lasserasch Juniormester
31. oktober 2015 - 02:16 Der er 1 kommentar og
1 løsning

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
Avatar billede lasserasch Juniormester
31. oktober 2015 - 11:04 #1
Never mind, Resharper har åbenbart et shortcut til at skrive dummy koden, hvilket er fint...


Spørgsmål hermed lukket.
Avatar billede lasserasch Juniormester
31. oktober 2015 - 11:05 #2
s
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester