C # Reflexion erhält Feld oder Eigenschaft nach Name

9

Gibt es eine Möglichkeit, einer Funktion einen Namen zu geben, der dann den Wert des Felds oder der Eigenschaft für ein bestimmtes Objekt mit diesem Namen zurückgibt? Ich habe versucht, mit dem Null-Koaleszenz-Operator zu umgehen, aber anscheinend mag das nicht verschiedene Typen (was auch ein bisschen komisch für mich ist, weil null null ist). Ich könnte es in Nullen trennen, aber es muss einen besseren Weg geben, dies zu tun. Hier ist meine Funktion, und die zwei Zeilen mit Comparison -Objekten kompilieren nicht, aber ich lasse sie dort, um zu zeigen, was ich versuche zu tun.

%Vor%

Ich habe von etwas gehört, das dynamische linq genannt wird, das benutzt werden könnte, aber um es zu lernen, mache ich es auf meine Art.

    
Matt Vaughan 30.04.2013, 17:18
quelle

1 Antwort

13

Ändern Sie diese Zeile:

%Vor%

dazu:

%Vor%

, weil es keine implizite Umwandlung in die Basisklasse gibt, wenn der ternäre Operator so verwendet wird. Das ternäre erfordert, dass die Typen aller Ausgänge gleich sind.

    
Mike Perrenoud 30.04.2013, 17:21
quelle