C # -Einstellung / Abrufen der Klasseneigenschaften nach String-Namen [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Ruft den Eigenschaftswert aus der Zeichenfolge mithilfe der Reflexion in C # ab. 21 Antworten

Ich versuche, den Wert der Eigenschaft in einer Klasse mithilfe einer Zeichenfolge festzulegen. Beispielsweise hat meine Klasse die folgenden Eigenschaften:

<code>myClass.Name
myClass.Address
myClass.PhoneNumber
myClass.FaxNumber
</code>

Alle Felder sind vom Typ "Zeichenfolge", daher weiß ich im Voraus, dass es sich immer um eine Zeichenfolge handelt. Jetzt möchte ich in der Lage sein, die Eigenschaften unter Verwendung einer Zeichenkette einzustellen, wie Sie mit DataSet-Objekt tun konnten. Etwas wie das:

<code>myClass["Name"] = "John"
myClass["Address"] = "1112 River St., Boulder, CO"
</code>

Im Idealfall möchte ich nur eine Variable zuweisen und dann die Eigenschaft unter Verwendung dieses Zeichenfolgennamens aus der Variablen festlegen

<code>string propName = "Name"
myClass[propName] = "John"
</code>

Ich habe über Reflexion gelesen und vielleicht ist es der Weg, dies zu tun, aber ich bin nicht sicher, wie ich das einrichten soll, während der Eigenschaftenzugriff in der Klasse intakt bleibt. Ich möchte noch nutzen können

<code>myClass.Name = "John"
</code>

Irgendwelche Codebeispiele wären wirklich toll.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage