Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 29154|Svare: 2

[Kilde] .NET/C#-attributtene CallerMemberName, CallerFilePath, CallerLineNumber

[Kopier lenke]
Publisert på 11.08.2021 09:45:56 | | | |
Tre attributter ble introdusert i .Net 4.5: CallerMemberName, CallerFilePath og CallerLineNumber. Med hjelp av kompilatoren kan du få navnet på den kallende funksjonen (for å være presis, det skal være et medlem), kallfilen og kallelinjenummeret.

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

Du kan også bruke StackTrace- og StackFrame-objekter for å hente dem, men med denne funksjonen kan vi få dem mer praktisk.

StackTrace: Representerer en stack trace, som er en ordnet samling av én eller flere stack frames.

StackFrame: Gir informasjon om StackFrame (et funksjonskall i kallstakken som representerer den nåværende tråden).

Tidligere brukte jeg AOP for å hente metodens navn via StackTrace, og koden er som følger:


Ved å bruke funksjonen er testkoden som følger:

Gjengivelser:



(Slutt)




Foregående:Maven updatePolicy snapshot oppdateringspolicy
Neste:Java-byte[] og InputStream konverteres til hverandre
 Vert| Publisert på 27.11.2022 21:09:56 |
 Vert| Publisert på 27.11.2022 22:35:47 |
Få det nåværende metodenavnet fra en asynkron funksjon?

Innloggingen med hyperkoblingen er synlig.

C#5 legger til egenskaper for oppringerinformasjon, som kanskje gir deg mer av det du leter etter. Merk at disse setter inn riktig informasjon ved kompileringstidspunktet på det kallende stedet, i stedet for å bruke kjøretidsinformasjon. Mer begrenset funksjonalitet (selvfølgelig får du ikke hele callstacken), men mye raskere.





Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com