Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 29154|Risposta: 2

[Fonte] .NET/C# attributi NomeMembroChiamatore, Percorso FileChiamatore, NumeroLinea

[Copiato link]
Pubblicato su 11/08/2021 09:45:56 | | | |
In .Net 4.5 sono stati introdotti tre attributi: ChiamanteNomeMembro, ChiamanteFilePath e ChiamanteNumeroLinea. Con l'aiuto del compilatore, puoi ottenere il nome della funzione chiamante (per essere precisi, dovrebbe essere un membro), il file di chiamata e il numero della linea di chiamata.

Documentazione:https://docs.microsoft.com/en-us ... membernameattribute

Puoi anche usare oggetti StackTrace e StackFrame per ottenerli, ma con questa funzione possiamo ottenerli più comodamente.

StackTrace: Rappresenta una traccia di stack, che è una raccolta ordinata di uno o più frame di stack.

StackFrame: Fornisce informazioni sullo StackFrame (una chiamata di funzione nello stack di chiamate che rappresenta il thread corrente).

In precedenza, ho usato AOP per ottenere il nome del metodo del chiamante tramite StackTrace, e il codice è il seguente:


Utilizzando questa funzione, il codice di prova è il seguente:

Rendering:



(Fine)




Precedente:Aggiornamento Maven Policy policy di aggiornamento snapshot
Prossimo:Java byte[] e InputStream vengono convertiti tra loro
 Padrone di casa| Pubblicato su 27/11/2022 21:09:56 |
 Padrone di casa| Pubblicato su 27/11/2022 22:35:47 |
Ottenere il nome attuale del metodo da una funzione asincrona?

Il login del link ipertestuale è visibile.

C#5 aggiunge proprietà di informazione per il chiamante, che potrebbero darti più di ciò che cerchi. Si noti che queste inseriscono le informazioni appropriate al momento della compilazione nel sito chiamante, invece di usare le informazioni di runtime. Funzionalità più limitate (ovviamente non hai l'intero stack di chiamate), ma molto più veloce.





Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com