Avatar billede maqhem Nybegynder
19. april 2007 - 10:34 Der er 16 kommentarer og
1 løsning

Dynamisk reference

Når jeg opretter et Label statisk, skriver jeg således:

private Label l;

public Properties()
{
    l = new Label();
}

Men hvis den skal være dynamisk, hvordan gør jeg det så...? Eksepelvis som sammensat af variablen a og variablen b?
Ét eller andet siger mig, jeg ikke kan initiere det uden for min contructorfunktion. Lidt al á:

public Properties()
{
    (a + b) = new Label();
}

... Men det duer ikke. Hvordan gør jeg så?
Avatar billede mh6000 Nybegynder
19. april 2007 - 10:44 #1
hvad ville a og b så være for typer ??
Avatar billede maqhem Nybegynder
19. april 2007 - 10:46 #2
String.
Avatar billede maqhem Nybegynder
19. april 2007 - 10:46 #3
Nej vent, string og uint16.
Avatar billede mh6000 Nybegynder
19. april 2007 - 11:56 #4
public Properties()
{
    l=new Label();
    l.Text=(a + b)
}

Måske virker dette..
Jeg er ikke helt sikker på at jeg forstår dit spørgsmål rigtigt :-)
Avatar billede maqhem Nybegynder
19. april 2007 - 14:32 #5
Ikke just. Selve referencen skal være dynamisk, ikke hverken teksten eller navnet.
Avatar billede mh6000 Nybegynder
19. april 2007 - 14:40 #6
Hvad forstår du ved en dynamisk refrence.
Hvad ønsker du ved at lægge 2 refrencer sammen?
Avatar billede bitmatic Nybegynder
19. april 2007 - 15:07 #7
maghem.... Det du skriver giver ikke meget mening. Kan du ikke forsøge at forklare i klartekst hvad det er du gerne vil gøre. Så kan vi måske hjælpe dig.
Avatar billede maqhem Nybegynder
19. april 2007 - 17:33 #8
Jeg ved ikke, som du kender til Flash... Dér kan man oprette en variabel således:

var var0:String = new String();

... Eller dynamisk:

var h:String = new String("var");
var b:String = new String(0);
this[h + b] = new String();

Således oprettes to ens variabelreferencer, men hvor blot referencen i den sidste udgave er dynamisk  (h + b).
Og til din orientering, så er 'var var0:String = new String();' det, der svarer til 'public String var0;', og i contructoren 'var0 = new String(),'.
Avatar billede maqhem Nybegynder
19. april 2007 - 17:34 #9
... Og det er selvfølgelig den sidste, jeg ønsker, at lave i C#.
Avatar billede hmortensen Nybegynder
19. april 2007 - 19:07 #10
a = b = new Label();

Så har a og b samme reference.
Avatar billede arne_v Ekspert
19. april 2007 - 19:15 #11
string a = "var";
int b = 0;
Dictionary<string,string> m = new Dictionary<string,string>();

og saa bruge m[a + b] er nok det naermeste
Avatar billede bitmatic Nybegynder
19. april 2007 - 19:33 #12
Jeg må have tabt hovedet.... :-)

Jeg har stadig ingen pejling om hvad det er du prøver at gøre.
Avatar billede maqhem Nybegynder
19. april 2007 - 19:51 #13
Enten er I unuancerede, eller også er jeg for dårlig til at forklare. Er det meget svært at forstå dette:

Label (varA + varB) = new Label();
(varA + varB).Text = "Test...";

Hvor (varA + varB) er den dynamiske reference. Troede det var (varA + varB), men det melder fejl. Hvad er det så, hvis den sammensatte reference skal være sammensat af to yderlige variabler som varA og varB? Hvis I stadig ikke forstår noget af det, så bare glem det... Så finder jeg på noget andet. Nu har jeg forklaret det så godt, jeg overhovedet kan, og skåret det helt ud i pap.
Avatar billede maqhem Nybegynder
19. april 2007 - 19:53 #14
Hvis man benytter (varA + varB) siger den vidst nok, at venstre side skal være en variabel eller lignende.
Avatar billede arne_v Ekspert
19. april 2007 - 20:04 #15
string a = "var";
int b = 0;
Dictionary<string,Label> m = new Dictionary<string,Label>();
m.Add(a + b, new Label);
m[a + b].Text = "bla bla";

boer virke
Avatar billede maqhem Nybegynder
19. april 2007 - 20:29 #16
Jamen arne_v, du kan jo svare på alting. Smid et svar, for du var den første, der kunne tyde mine heoglyffer.
Avatar billede arne_v Ekspert
20. april 2007 - 03:12 #17
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