Sono stati cercati, cercati e sperati ma non è possibile trovare una risposta diretta.Utilizzo di nomeof per ottenere il nome del metodo corrente
Esiste comunque in C# 6.0 per ottenere il nome del metodo corrente utilizzando nameof
senza specificare il nome del metodo?
sto aggiungendo i miei risultati dei test per un dizionario come questo:
Results.Add(nameof(Process_AddingTwoConsents_ThreeExpectedRowsAreWrittenToStream), result);
preferirei se non avrei dovuto specificare il nome del metodo in modo esplicito in modo da poter copiare + incollare la linea, un non- esempio operativo:
Results.Add(nameof(this.GetExecutingMethod()), result);
Se possibile, non desidero utilizzare Reflection.
UPDATE
Questo non è (come suggerito) un duplicato di this question. Sto chiedendo se è esplicitamente possibile fare uso di nameof
senza (!) Riflessione per ottenere il nome del metodo corrente.
E perché non usi questo: http://stackoverflow.com/questions/44153/can-you-use-reflection-to-find-the-name-of-the-currently-executing-method? – HimBromBeere
È possibile utilizzare 'StackTrace' per ottenere tali informazioni, ma questo è lento. Per ottenere qualcosa di automatico è possibile utilizzare la generazione del codice (ad esempio uno strumento che viene eseguito prima del compilatore e sostituisce qualcosa con qualcos'altro) o AOP (vedere [questo] (http://stackoverflow.com/q/25803/1997232). – Sinatr
Non lo farebbe? 'System.Reflection.MethodInfo.GetCurrentMethod(). Name' – Zorkind