Laden...

Alle Felder einer Klasse durchlaufen

Erstellt von Christi4n vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.658 Views
C
Christi4n Themenstarter:in
79 Beiträge seit 2006
vor 15 Jahren
Alle Felder einer Klasse durchlaufen

Hallo,

Ich habe eine Klasse Coreproperties welche nur string's enthält. Alle Felder mit Getter und Setter versehen.

Von einer anderen Klasse sollte ich immer so einen Wert reinschreiben:

XmlNode propNode = propdoc.SelectSingleNode("cp:coreProperties/dc:title", nsManager);
                if(propNode != null)
                    cp.Title = propNode.InnerText;

Da dies auf die Dauer nerfig wird wollte ich wissen ob ich irgendwie mittels foreach-Schleife das ganze umgehen könnte, so Pseudocodemäßig:

foreach(Feld f in Coreproperties.Felder)
{
XmlNode propNode = propdoc.SelectSingleNode("cp:coreProperties/dc:"+f.Name,nsManager);
if(propNode != null)
  cp.(f.Name) = propNode.InnerText;
}

Gibt es so etwas?

Edit: Es sind alles Felder vom selben Typ(string)!

mfg
Christian

R
402 Beiträge seit 2005
vor 15 Jahren

hi,wenn ich dich richtig verstanden habe,dann suche mal in google nach reflection!

bzw gibts hier im forum auch genug zu diesem thema!
poste die besten treffer bitte hier!!

lg rizi

88 Beiträge seit 2007
vor 15 Jahren

Vllt wenn du eine weitere Propertie in deiner Klasser erzeugst. Diese Propertie könnte vllt eine Collection sein in der alle anderen Propertiers der Klasse enthalten sind. So könntest du diee Collection dann nutzen um sie zu durchlaufen.

Ist nur ne spontane Idee von mir.

Dr. Z

F
722 Beiträge seit 2005
vor 15 Jahren

Type.GetProperty

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo Christi4n,

dein (Pseudo)Code sollte es doch schon fast tun. Du musst nur f.SetValue verwenden.

herbivore