24. april 2007 - 12:15
Der er
9 kommentarer og 1 løsning
Hent Enum via Index
Jeg har en system Enum som jeg vil tilgå via et index nummer. Eksempel System.Drawing.Color[5] skulle gerne give mig farve nummer 5 (ne 6 må det jo være) i farvelisten, men sådan kan man blot ikke gøre. Kan det gøres?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
24. april 2007 - 12:53
#1
Således du mener? private Color GetColorFromIndex(int index) { return (Color)typeof(Color).GetProperties()[index].GetValue(null, null); }
24. april 2007 - 14:23
#2
System.Drawing.Color er ikke en enum !
24. april 2007 - 14:28
#3
hvis det var en enum var her et par alternativer til hmortensens approach: using System; namespace E { public enum MyColor { RED, GREEN, BLUE, YELLOW, BLACk, WHITE }; public class MainClass { public static void Main(string[] args) { MyColor c1 = ((MyColor[])Enum.GetValues(typeof(MyColor)))[3]; MyColor c2 = (MyColor)3; Console.WriteLine(c1 + " " + c2); } } }
24. april 2007 - 15:15
#4
Ja det er en struct.
24. april 2007 - 16:11
#5
Men virker hmortensens forslag stadig på en struct?
24. april 2007 - 16:35
#6
Det virker netop på en struct, og IKKE på en enum. Regnede med at det var Color du skulle bruge det for, og at det ikke blot var et eksempel.
25. april 2007 - 08:02
#7
Color var blot et (dårligt) eksempel. Det er egentlig System.Drawing.Drawing2D.HatchStyle jeg skulle bruge, og det lugter lidt af en enum. Derfor kunne jeg bruge Arnes svar, men det var jo hmortensen der faktisk svarede på det, jeg spurgte om.
28. april 2007 - 05:21
#8
prøv lige: using System; using System.Reflection; using System.Drawing; namespace E { public class MainClass { public static void Main(string[] args) { foreach(PropertyInfo pi in typeof(Color).GetProperties()) { Console.WriteLine(pi.Name + " " + (Color)pi.GetValue(null, null)); } } } }
05. december 2007 - 10:11
#9
Ups.. Denne har ligget åben alt for længe.. Jeg mener jeg brugte arnes forslag, så kan du ikke lægge et svar, så vi kan lukke?
05. december 2007 - 15:17
#10
ok
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.