Zugriff identisch benannten Klassenmitglieder von Instanzen verschiedener Klassen

StackOverflow https://stackoverflow.com/questions/1845592

  •  12-09-2019
  •  | 
  •  

Frage

Ich habe Instanzen der Klasse A und B, und beide Klassen ein Mitglied ‚Text‘ implementieren. Gibt es eine Möglichkeit Mitglied Text in allgemeiner Weise zuzugreifen? Ich hoffe auf etwas analog zu der Art und Weise Javascript einfach zu sagen:

instance['Text'] = value;

Hinweis: diese beiden Klassen leider nicht beide die gleiche Schnittstelle mit einem Textelement implementieren

.
War es hilfreich?

Lösung

Im Gegensatz zu Javascript, C # ist eine statische Sprache und wenn beide Klassen implementieren keine gemeinsame Schnittstelle oder Basisklasse könnte man Reflexion verwendet das gleiche Ziel zu erreichen.

instance.GetType().GetProperty("Text").SetValue(instance, "new value", null);
scroll top