Voglio che venga chiamato il nome dell'attuale gestore.Ottieni il nome del metodo corrente
MethodInfo.GetCurrentMethod().Name
o MethodBase.GetCurrentMethod().Name
funzionano correttamente in modalità di debug.
Ma una volta che offusisco (usando confuserEx) il mio progetto le 2 funzioni restituiscono "System.Reflection.MethodBase()"
.
ho notato ho potuto ottenere il nome della mia funzione utilizzando la seguente riga: ((RoutedEventHandler)this.MyMethodName).GetMethodInfo().Name
Esso restituisce "MyMethodName"
che è il risultato atteso.
Ma non è affatto generico. Mi piacerebbe un pezzo di codice funzionante quando non conosco il nome del metodo corrente.
Possibile duplicato del [C# come ottenere il nome del metodo corrente dal codice] (http://stackoverflow.com/questions/2652460/c-sharp-how-to-get-the-name-of-the-current-method-from-code) –
Se non è d'aiuto, le soluzioni che prevedono un preprocessore per il codice sorgente sono accettabili? –
@Thomas, Yahya: Non è convinto che si tratti di un duplicato, poiché nessuna delle domande collegate si riferisce specificamente alle difficoltà introdotte per rendere questo efficace contro l'offuscamento del codice. –