Hi all,
gibt es eine möglichkeit alle Variablen in einer Klasse per befehl abzurufen.
Also ich habe z.B.:
Class1.Variable1 = 1
Class1.Variable2 = 2
Class1.Variable3 = 3
Class1.Variable4 = 4
Und ich würde gerne ohne zu wissen wieviele Variablen es gibt, alle abrufen, und zwar so, das ich erfahre wie die Variable heist, also z.B. "Variable3", und welchen Wert sie aktuell hat, also z.B. "3".
Geht das bzw, gibt es dafür möglichkeiten ?
Danke schonmal im vorraus für evt. Tips/Anregungen
mfg
MS Master
Dafür gibt's Reflection.
Mit GetType() kannst du dir ein Typobjekt geben lassen. Dann nutzt du GetFields() und enumerierst über alle Variablen deiner Klasse.
Die zurückgegebene FieldInfo-Klasse ermöglicht es dann, den Inhalt der Variablen auszuslesen (GetValue()).
I am Jack's smirking revenge.
I am Jack's raging bile duct.
I am Jack's cold sweat.
I am Jack's complete lack of surprise.
I am Jack's broken heart.
I am Jack's wasted life.
Hallo,
gehen tut erstmal alles.
typeof(MeineKlasse).getFields()
sollte dir alle öffentlichen Felder zurückgeben.
Aber Reflection sollte man so oft wie möglich vermeiden. Schau dir mal die Klasse Hashtable an. Da kannst du auch beliebige Namen verwenden und diesen einen Wert zuweisen.
Hi,
danke für die Antowrten, werde das gleich morgen früh testen.
mfg
MS Master
Hallo MS Master,
wenn du meinen Rat aus Class.inhalteinervAriable statt Class.Variable- Geht das beherzigst 🙂
dann verwendest du einfach GetProperties statt GetFields.
herbivore
Hi,
wie schon im anderen tread geschrieben, verwende ich das schon so, wie du es mir empfohlen hast. Habe also schon unbewusst eine hähere Sicherheit in meinem Programm drinnen.
Vielen dank aber denoch für die Tips, das erleichtert gerade am Anfang das lernen doch merklich.
mfg
MS Master