Avatar billede repsak Nybegynder
13. januar 2005 - 09:59 Der er 9 kommentarer og
1 løsning

Kalde en constructor fra en constructor

Hvordan skriver jeg følgende så det kan compile.

public DSA(string file){
    string a = null;
    string b = null;
    UdledAfFil(file, ref a, ref b);
    this(a, b);
}

public DSA(string a, string b){
    //så kører bussen   
}

(altså kalde en constructor fra en anden - jeg er selv i tvivl om det overhovet kan lade sig gøre...)
Avatar billede arne_v Ekspert
13. januar 2005 - 10:01 #1
prøv:

public DSA(string file) : this(a, b){
    string a = null;
    string b = null;
    UdledAfFil(file, ref a, ref b);
}
Avatar billede arne_v Ekspert
13. januar 2005 - 10:05 #2
string a = null;
    string b = null;

skal muligvis slettes ...
Avatar billede repsak Nybegynder
13. januar 2005 - 10:07 #3
har jeg prøvet - a og b kan ikke 'ses' derfra.
(hvis jeg kalder this() i en constructor kan der ikke være kode i constructoren)
Avatar billede arne_v Ekspert
13. januar 2005 - 10:09 #4
åh - ja det er jo ikke argumenter til denne constructor

public DSA(string file) : this(null, null){

måske
Avatar billede repsak Nybegynder
13. januar 2005 - 10:13 #5
hmm glem min kommentar
"(hvis jeg kalder this() i en constructor kan der ikke være kode i constructoren)"

problemet er bare at den først kalder this - dernæst koden i konstructoren. Jeg har bare løst det ved at implementere en ny metode. Var bare nysgerig omk. om det var muligt :-)
Avatar billede arne_v Ekspert
13. januar 2005 - 10:13 #6
Men du vil aldrig få lov til at kalde en metode før den anden constructor.
Avatar billede repsak Nybegynder
13. januar 2005 - 10:24 #7
Nej, men løste det således:
-----
public DSA(string file){
    string a = null;
    string b = null;
    UdledAfFil(file, ref a, ref b);
    Gogo(a, b);
}

public DSA(string a, string b){
    Gogo(a, b); 
}

private Gogo(string a, string b){
    //så kører bussen
}
Avatar billede repsak Nybegynder
25. januar 2005 - 10:41 #8
points?
Avatar billede arne_v Ekspert
25. januar 2005 - 12:03 #9
næh - har vist ikke bidraget med noget
Avatar billede repsak Nybegynder
25. januar 2005 - 23:09 #10
ok
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