Warum gibt nameof nur den Nachnamen zurück?

nameof (order.User.Age) gibt nur "Age" anstelle von "order.User.Age" zurück

Was ist der Grund, es eingeschränkter zu machen? Wenn wir nur den Nachnamen wollen, könnten wir so etwas tun wie

public static GetLastName(this string x) { 
    return string.Split(x, '.').Last();
}
nameof(order.User.Age).GetLastName()

Und mit einem Operator könnten wir sowohl "Age" als auch "order.User.Age" erhalten. Aber mit der aktuellen Implementierung können wir nur "Age" bekommen.

Gibt es eine Logik hinter dieser Entscheidung?

Edit: Ein solches Verhalten ist beispielsweise für die MVC-Bindung erforderlich.

Html.TextBox(nameof(order.User.Age))

Antworten auf die Frage(8)

Ihre Antwort auf die Frage