Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 29154|Atbildi: 2

[Avots] .NET/C# atribūti CallerMemberName, CallerFilePath, CallerLineNumber

[Kopēt saiti]
Publicēts 11.08.2021 09:45:56 | | | |
.Net 4.5 tika ieviesti trīs atribūti: CallerMemberName, CallerFilePath un CallerLineNumber. Ar kompilatora palīdzību jūs varat iegūt izsaukuma funkcijas nosaukumu (precīzāk, tam jābūt dalībniekam), zvana failu un zvana līnijas numuru.

Dokumentācija:https://docs.microsoft.com/en-us ... membernameattribute

Lai tos iegūtu, varat arī izmantot StackTrace un StackFrame objektus, bet, izmantojot šo funkciju, mēs varam tos iegūt ērtāk.

StackTrace: attēlo steka izsekošanu, kas ir sakārtota viena vai vairāku steka kadru kolekcija.

StackFrame: sniedz informāciju par StackFrame (funkcijas izsaukums zvanu stekā, kas attēlo pašreizējo pavedienu).

Iepriekš es izmantoju AOP, lai iegūtu zvanītāja metodes nosaukumu, izmantojot StackTrace, un kods ir šāds:


Izmantojot šo funkciju, testa kods ir šāds:

Apmetums:



(Beigas)




Iepriekšējo:Maven atjaunināšanaPolitikas momentuzņēmumu atjaunināšanas politika
Nākamo:Java baits[] un InputStream tiek konvertēti viens uz otru
 Saimnieks| Publicēts 27.11.2022 21:09:56 |
 Saimnieks| Publicēts 27.11.2022 22:35:47 |
Iegūt pašreizējo metodes nosaukumu no asinhronās funkcijas?

Hipersaites pieteikšanās ir redzama.

C# 5 pievieno zvanītāja informācijas rekvizītus, kas var sniegt jums vairāk no tā, ko meklējat. Ņemiet vērā, ka tie ievieto atbilstošo informāciju kompilācijas laikā izsaucēja vietnē, nevis izmanto izpildlaika informāciju. Ierobežotāka funkcionalitāte (acīmredzot jūs nesaņemat pilnu zvanu kaudzi), bet daudz ātrāk.





Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com