Strings auslesen und in Combobox packen

Hallo zusammen,

ich brauche dringend eure Hilfe. Also ich habe eine Klasse, in dierser Klasse sind String Konstanten drin. Nun möchte ich in meine ComboBox diese String Konstanten auflisten. Alle schön untereinander und Sie als Arry-List verpacken Oder auch nur Array? Was sich halt anbieten würde… Ich habe absolut keine Ahnung wie das geht - habe mal was von reflections gehört oder so?! Keine Ahnung wie das nun geht. Es ist auch wichtig, dass das Programm bei jedem Start überprüfen ob ein neuer String dazu gekommen ist und wenn ja ihn hinzufügen! Danke für eure Hilfe, was wäre ich ohne Euch :wink:

Christian

Hallo Christian!
Das Stichwort „Reflection“ ist schon genau richtig. Dir das nötige Wissen anzulesen kann Dir aber keiner abnehmen. Dennoch ein paar hilfreiche Hinweise zum Thema:
Eine string-Konstante zählt für Reflection als ein statisches „Field“ eines Typs, wobei die Eigenschaft IsLiteral der zugehörigen FieldInfo bei Konstanten true ist und bei nicht-konstanten statischen Stringvariablen entsprechend false ist.
Mit

FieldInfo[] fields = typeof(_MeinKlasseMitDenGanzenStringKonstanten_).GetFields(
 BindingFlags.Public|BindingFlags.Static);

kommst Du an alle statischen, öffentlichen Fields der Klasse ran und musst letzlich nur noch in einer Schleife jeweils das IsLiteral überprüfen.

Gruß,
Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Komm schon wenigstens ein wenig genauer, ich bin echt noch ein Anfänge rund kann mit diesen Codeschipseln nich viel anfangen! Wie greif ich denn überhaupt auf die Klasse zu etc. das sind fragen die einfach noch völlig ungeklärt sind…
Plz more help…

THX

!!

Hallo Christian!
Das Stichwort „Reflection“ ist schon genau richtig. Dir das
nötige Wissen anzulesen kann Dir aber keiner abnehmen. Dennoch
ein paar hilfreiche Hinweise zum Thema:
Eine string-Konstante zählt für Reflection als ein statisches
„Field“ eines Typs, wobei die Eigenschaft
IsLiteral der zugehörigen
FieldInfo bei Konstanten
true ist und bei nicht-konstanten
statischen Stringvariablen entsprechend
false ist.
Mit

FieldInfo[] fields =
typeof(MeinKlasseMitDenGanzenStringKonstanten).GetFields(
BindingFlags.Public|BindingFlags.Static);

kommst Du an alle statischen, öffentlichen Fields der Klasse
ran und musst letzlich nur noch in einer Schleife jeweils das
IsLiteral überprüfen.

Gruß,
Martin

Komm schon wenigstens ein wenig genauer, ich bin echt noch ein
Anfänge rund kann mit diesen Codeschipseln nich viel anfangen!
Wie greif ich denn überhaupt auf die Klasse zu etc. das sind
fragen die einfach noch völlig ungeklärt sind…
Plz more help…

THX

!!

Nix für ungut, aber wenn ich Dir jetzt einfach den fertigen Code hinschreibe, dann züchte ich nur den nächsten Copy&amp:stuck_out_tongue_winking_eye:aste-Zombie :smile:

Wenn Du noch überhaupt keine Ahnung von der Entwicklung mit .NET hast, dann empfehle ich Dir ein gutes Buch und zunächst die Finger von Reflection zu lassen, da es zugegebenermaßen ein etwas fortgeschrittenes Thema ist.
Allerdings auch nicht so große Raketenwissenschaft, dass man es sich nicht aus der Framework-Dokumentation (auch dort gibt es übrigens Codebeispiele - schon mal auf MSDN geschaut?) beibringen kann, wenn man die Grundlagen (sprich: Das Typsystem von .NET) verstanden hat. Diese Grundlagen hier komplett zu erklären sprengt aber bei weitem den Rahmen dieses Forums.

Gruß,
Martin

Hallo Christian!
Das Stichwort „Reflection“ ist schon genau richtig. Dir das
nötige Wissen anzulesen kann Dir aber keiner abnehmen. Dennoch
ein paar hilfreiche Hinweise zum Thema:
Eine string-Konstante zählt für Reflection als ein statisches
„Field“ eines Typs, wobei die Eigenschaft
IsLiteral der zugehörigen
FieldInfo bei Konstanten
true ist und bei nicht-konstanten
statischen Stringvariablen entsprechend
false ist.
Mit

FieldInfo[] fields =
typeof(MeinKlasseMitDenGanzenStringKonstanten).GetFields(
BindingFlags.Public|BindingFlags.Static);

kommst Du an alle statischen, öffentlichen Fields der Klasse
ran und musst letzlich nur noch in einer Schleife jeweils das
IsLiteral überprüfen.

Gruß,
Martin