Avatar billede fila Nybegynder
19. januar 2006 - 10:09 Der er 1 kommentar

Opret objekt med input

Jeg har lavet en metode som ser sådan her ud

public Object button(int x,int y,string name) {

Button +name+ = new button();

}

Det virker ikke som jeg gerne vil have det til, hvad skal jeg bruge istedet for string name. ?
Avatar billede jens_klinting Nybegynder
22. januar 2006 - 00:08 #1
Ovenstående virker ikke, og kan aldrig komme til det.
Identifiers (Button + name) kan ikke specificeres som i ovenstående, da identifier skal være angivet på compile time, og name først har et indhold på runtime.

Men måske er der en anden udvej.

Måske kan du benytte en dictionary (System.Collections.HashTable eller lign.) til at gemme dine knapper i f.eks.:

Dim map As New System.Collections.Specialized.HybridDictionary(True)
map.Add("Button" + name, new Button())

Når du så skal benytte din knap, kan du gøre noget i denne retning

Dim btn As System.Windows.Forms.Button = CType(map("Button" + name), System.Windows.Forms.Button)

' Benyt btn til et eller andet...

Dette kan gøres mere elegant med Generics, hvis du benytter .NET 2.0.
I det viste benyttes en HybridDictionary. Med strenge som keys, kan den gøres case-insensitive, og derudover benytter den en liste ved få elementer og en dictionary ved mange.
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
Kurser inden for grundlæggende programmering

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