Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 29154|Odpověď: 2

[Zdroj] .NET/C# atributy CallerMemberName, CallerFilePath, CallerLineNumber

[Kopírovat odkaz]
Zveřejněno 11.08.2021 9:45:56 | | | |
V .Net 4.5 byly zavedeny tři atributy: CallerMemberName, CallerFilePath a CallerLineNumber. S pomocí kompilátoru můžete získat název volající funkce (přesněji řečeno, měla by být členem), volací soubor a číslo volací linky.

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

Můžete také použít objekty StackTrace a StackFrame, ale s touto funkcí je získáme pohodlněji.

StackTrace: Představuje stopu zásobníku, což je uspořádaná kolekce jednoho nebo více rámců zásobníku.

StackFrame: Poskytuje informace o StackFrame (volání funkce ve zásobníku volání, které reprezentuje aktuální vlákno).

Dříve jsem používal AOP k získání názvu metody volajícího přes StackTrace a kód je následující:


Pomocí této funkce je testovací kód následující:

Omítky:



(Konec)




Předchozí:Maven updatePolitika aktualizace snapshotů
Další:Java byte[] a InputStream se navzájem převádějí
 Pronajímatel| Zveřejněno 27.11.2022 21:09:56 |
 Pronajímatel| Zveřejněno 27.11.2022 22:35:47 |
Získat aktuální název metody z asynchronní funkce?

Přihlášení k hypertextovému odkazu je viditelné.

C# 5 přidává vlastnosti pro informace o volajícím, což vám může nabídnout více toho, co hledáte. Všimněte si, že tyto vkládají příslušné informace při kompilaci do volajícího místa, místo aby používaly informace za běhu. Omezenější funkčnost (samozřejmě nemáte plný zásobník volání), ale mnohem rychlejší.





Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com