nameof (order.User.Age) restituisce solo "Age" anziché "order.User.Age"Perché il nome restituisce solo il cognome?
Qual è il motivo per farlo in modo più limitato? Se vogliamo solo il cognome che potevamo fare qualcosa di simile
public static GetLastName(this string x) {
return string.Split(x, '.').Last();
}
nameof(order.User.Age).GetLastName()
E con un solo operatore siamo riusciti a ottenere entrambe le cose, "Age" e "order.User.Age". Ma con l'implementazione corrente possiamo solo ottenere "Età".
C'è qualche logica dietro questa decisione?
Edit: Per esempio, tale comportamento è necessario per MVC vincolante
Html.TextBox(nameof(order.User.Age))
Si noti che 'order.User' può anche essere una funzione che restituisce un oggetto con proprietà' Nome'. A cosa dovrebbe fare il nome in questi casi? – AlexR
'nameof' è una costante di tempo di compilazione, quindi come funzionerebbe su un'istanza? – leppie
Per sapere perché, dovresti passare attraverso le lunghe discussioni su http://roslyn.codeplex.com/ –