ho ottenuto una semplice classe:L'operatore "nameof", "espressione non può essere utilizzato in una discussione a nameof"
public class Stu
{
public string Name { get; set; }
}
Se faccio così:
var stu = new Stu();
Console.WriteLine(nameof(stu.Name));
funziona bene. ma questo:
Console.WriteLine(nameof(new Stu().Name));
o questo:
Console.WriteLine(nameof((new Stu()).Name));
non funziona, il compilatore mi dice: "L'espressione non può essere utilizzato in un argomento per nameof".
Non so perché. Che cosa significa la punta? Qual è il tipo di parametro corret dell'operatore "nameof()"?
Ho cercato sul Web, la pagina this mi dice che "l'espressione può essere un gruppo di proprietà o un gruppo di metodi", ma l'espressione "nuovo Stu(). Nome" non è un "gruppo di proprietà"?
'Nome' non ha bisogno di essere statico per riferirsi ad esso all'interno dell'operatore' nameof'. Ottiene una sintassi speciale per essere in grado di risolvere i membri dell'istanza OR statici –
Il risultato previsto dell'operatore 'nameof' viene trasformato in una stringa costante durante la compilazione. –