Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 29154|Atsakyti: 2

[Šaltinis] .NET/C# atributai CallerMemberName, CallerFilePath, CallerLineNumber

[Kopijuoti nuorodą]
Paskelbta 2021-08-11 09:45:56 | | | |
.Net 4.5 buvo pristatyti trys atributai: CallerMemberName, CallerFilePath ir CallerLineNumber. Kompiliatoriaus pagalba galite gauti skambinimo funkcijos pavadinimą (tiksliau, tai turėtų būti narys), skambučio failą ir skambučių linijos numerį.

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

Norėdami juos gauti, taip pat galite naudoti "StackTrace" ir "StackFrame" objektus, tačiau naudodami šią funkciją galime juos gauti patogiau.

StackTrace: reiškia rietuvės sekimą, kuris yra užsakytas vieno ar kelių rietuvės kadrų rinkinys.

StackFrame: pateikia informaciją apie StackFrame (funkcijos iškvietimas skambučių rietuvėje, nurodantis dabartinę giją).

Anksčiau naudojau AOP, kad gaučiau skambinančiojo metodo pavadinimą per StackTrace, o kodas yra toks:


Naudojant šią funkciją, bandymo kodas yra toks:

Tinkas:



(Pabaiga)




Ankstesnis:Maven atnaujinimasPolitikos momentinės kopijos naujinimo strategija
Kitą:Java baitas[] ir InputStream konvertuojami vienas į kitą
 Savininkas| Paskelbta 2022-11-27 21:09:56 |
 Savininkas| Paskelbta 2022-11-27 22:35:47 |
Gauti dabartinį metodo pavadinimą iš asinchroninės funkcijos?

Hipersaito prisijungimas matomas.

C# 5 prideda skambinančiojo informacijos ypatybes, kurios gali suteikti daugiau to, ko ieškote. Atkreipkite dėmesį, kad jie įterpia atitinkamą informaciją kompiliavimo metu į iškvietimo svetainę, o ne naudoja vykdymo laiko informaciją. Labiau ribotas funkcionalumas (akivaizdu, kad jūs negaunate viso skambučių krūvos), bet daug greičiau.





Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com