Sie müssten Reflexion verwenden:
%Vor%Ich würde im Allgemeinen versuchen, dies zu vermeiden, aber ... es ist sehr spröde. Hier ist eine Alternative mit normaler Vererbung:
%Vor%usw.
Dann können Sie einfach myObject.Value
verwenden, um den richtigen Wert zu erhalten.
Wenn Sie die Kontrolle über MyClass haben und dies häufig tun müssen, würde ich eine Mitgliedseigenschaft hinzufügen, die Ihnen Zugriff gewährt.
%Vor% Sie müssen einfach verwenden: MyClass.i
Um etwas zu erklären, müssen Sie, um ein statisches Mitglied zu verwenden, etwas über die Klasse wissen. Und eine Objektreferenz zu haben ist irrelevant. Der einzige Weg, ein Objekt wäre von Bedeutung, wenn Sie zwei verschiedene Klassen haben, die beide ein identisches Mitglied haben:
%Vor% Aber A.i
und B.i
sind völlig verschiedene Felder, es gibt keine logische Beziehung zwischen ihnen. Auch wenn B von A oder umgekehrt erbt.