Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 29154|Svar: 2

[Källa] .NET/C#-attributen CallerMemberName, CallerFilePath, CallerLineNumber

[Kopiera länk]
Publicerad på 2021-08-11 09:45:56 | | | |
Tre attribut introducerades i .Net 4.5: CallerMemberName, CallerFilePath och CallerLineNumber. Med hjälp av kompilatorn kan du få namnet på den anropande funktionen (för att vara exakt, det ska vara en medlem), anropsfilen och samtalslinjens nummer.

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

Du kan också använda StackTrace- och StackFrame-objekt för att få dem, men med denna funktion kan vi få dem mer bekvämt.

StackTrace: Representerar ett stackspår, vilket är en ordnad samling av en eller flera stackramar.

StackFrame: Tillhandahåller information om StackFrame (ett funktionsanrop i anropsstacken som representerar den aktuella tråden).

Tidigare använde jag AOP för att få anroparens metodnamn via StackTrace, och koden är följande:


Med funktionen är testkoden följande:

Renderingar:



(Slut)




Föregående:Maven updatePolicy snapshot uppdateringspolicy
Nästa:Java byte[] och InputStream konverteras till varandra
 Hyresvärd| Publicerad på 2022-11-27 21:09:56 |
 Hyresvärd| Publicerad på 2022-11-27 22:35:47 |
Får du det aktuella metodnamnet från en asynkron funktion?

Inloggningen med hyperlänken är synlig.

C#5 lägger till egenskaper för uppringarinformation, vilket kan ge dig mer av det du söker. Observera att dessa infogar lämplig information vid kompileringstillfället på den anropande platsen, istället för att använda runtime-information. Mer begränsad funktionalitet (du får förstås inte hela samtalsstacken), men mycket snabbare.





Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com