Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 29154|Svar: 2

[Kilde] .NET/C#-attributter CallerMemberNumber, CallerFilePath, CallerLineNumber

[Kopier link]
Opslået på 11/08/2021 09.45.56 | | | |
Tre attributter blev introduceret i .Net 4.5: CallerMemberName, CallerFilePath og CallerLineNumber. Med hjælp fra compileren kan du få navnet på den kaldende funktion (for at være præcis, det skal være et medlem), kaldfilen og kaldelinjenummeret.

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

Du kan også bruge StackTrace- og StackFrame-objekter til at hente dem, men med denne funktion kan vi få dem mere bekvemt.

StackTrace: Repræsenterer en stack trace, som er en ordnet samling af en eller flere stack frames.

StackFrame: Giver information om StackFrame (et funktionskald i kaldsstakken, der repræsenterer den aktuelle tråd).

Tidligere brugte jeg AOP til at få kalderens metodenavn via StackTrace, og koden er som følger:


Ved at bruge funktionen er testkoden som følger:

Gengivelser:



(Slut)




Tidligere:Maven updatePolicy snapshot opdateringspolitik
Næste:Java-byte[] og InputStream konverteres til hinanden
 Udlejer| Opslået på 27/11/2022 21.09.56 |
 Udlejer| Opslået på 27/11/2022 22.35.47 |
Få det aktuelle metodenavn fra en asynkron funktion?

Hyperlink-login er synlig.

C#5 tilføjer opkaldsinformation, som måske giver dig mere af det, du leder efter. Bemærk, at disse indsætter den relevante information ved kompileringstidspunktet på det kaldende site i stedet for at bruge runtime-information. Mere begrænset funktionalitet (selvfølgelig får du ikke hele call-stacken), men meget hurtigere.





Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com