Avatar billede lasserasch Juniormester
02. januar 2007 - 12:06 Der er 8 kommentarer og
1 løsning

Kan man sætte en variabel i et funktionskald som frivillig?

Hejsa.

Når jeg kalder en funktion sker det sådan her :

update_grids(datagridview1, "select * from tabel");


Jeg har så en funktion, som modtager hvilket grid den skal opdatere og hvilken SQL forespørgelse der skal foretages. Resultatet sætter den ind i tabellen.

Fungerer jo alt sammen meget godt!

Min funktion har jeg så udbygget med en parameter, som enten kan være 0 eller 1. Denne parameter angiver om mit grid skal have scrollbars begge veje eller kun lodret.

Denne funktion kaldes ud gennem hele mit program = rigtig mange steder.

Hvis jeg vil ændre noget i funktionen. F.eks. tilføje en ny variabel der kunne angive f.eks. skriftstørrelsen, så skal jeg tilføje f.eks. 0 eller 1 hvert eneste sted hvorfra jeg kalder min funktion.

Mit spørgsmål er så :

Kan det lade sig gøre at sætte en variabel som frivillig? F.eks. hvis funktionen modtager 4 parametre.

datagridview, SQLtekst, Scrollbars, skriftstørrelse.

Hvis man så ikke tilføjede noget ud for skriftstørrelse, kunne man så få sin funktion til at virke alligevel og bare antage at parametren så er = 0 f.eks.?

Er det overhovedet muligt? Ellers findes der en anden smart måde hvorpå man kan rette kaldet ud gennem alle forms mv?


/Lasse
Avatar billede Syska Mester
02. januar 2007 - 12:14 #1
jo .... det kan du godt.
private void test(string param2)
{
    test(param2, "default value");
}

private void test(string param1, string param2)
{
    // do some crazy stuff with the strings
}

// ouT
Avatar billede mh6000 Nybegynder
02. januar 2007 - 12:15 #2
Prøv med keyword: Optional.  ( VB- kender ikke c# version :-)


public function calc(i as integer,Optional i2 as integer = 0)
Avatar billede lasserasch Juniormester
02. januar 2007 - 12:16 #3
Kan man godt have 2 voids som har 100% samme navn?
Avatar billede mh6000 Nybegynder
02. januar 2007 - 12:17 #4
evt kan du teste parameterne for null værdier og selv sætte en fornuftig default værdi.
Avatar billede Syska Mester
02. januar 2007 - 12:18 #5
Ja, det kan du godt ...

Da parameter antal/type skifter ...

Hvis man skulle teste for "null" og der af sætte en default værdi, ville jeg bruge mit eksemple ....

// ouT
Avatar billede lasserasch Juniormester
02. januar 2007 - 12:20 #6
Ja, helt klart. Vidste jeg ikke man kunne! Må jeg lige prøve!
Avatar billede hmortensen Nybegynder
02. januar 2007 - 12:51 #7
Det er lige som når du bruger nogle af alle de metoder der ligger i frameworket, fx. Console.WriteLine() som har 18 overloads, som det hedder, hvilket giver 19 forskellige måder at kalde metoden på.
Avatar billede Syska Mester
02. januar 2007 - 14:49 #8
svar hvis det kan bruges ... smutter for i dag.

// ouT
Avatar billede lasserasch Juniormester
02. januar 2007 - 15:10 #9
Jepper! virker fint! Tak!
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