Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 29154|Respuesta: 2

[Fuente] .NET/C# atributos NombreDeLlamaderMiembro del Llamante, RutaFilierLlamada, Número de Línea del Llamante

[Copiar enlace]
Publicado en 11/8/2021 9:45:56 | | | |
Se introdujeron tres atributos en .Net 4.5: NombreDeLlamanteLlamanteLlamante, CallerFilePath y LlamerLíneaNúmero. Con la ayuda del compilador, puedes obtener el nombre de la función que llama (para ser precisos, debería ser un miembro), el archivo de llamada y el número de línea de llamada.

Documentación:https://docs.microsoft.com/en-us ... membernameattribute

También puedes usar objetos StackTrace y StackFrame para conseguirlos, pero con esta función podemos conseguirlos de forma más cómoda.

StackTrace: Representa una pila de traza, que es una colección ordenada de uno o más marcos de pila.

StackFrame: Proporciona información sobre el StackFrame (una llamada a función en la pila de llamadas que representa el hilo actual).

Anteriormente, usaba AOP para obtener el nombre del método del llamador a través de StackTrace, y el código es el siguiente:


Utilizando esta función, el código de prueba es el siguiente:

Representaciones:



(Fin)




Anterior:Actualización de Maven Política de actualización de instantáneas
Próximo:El byte de Java[] y InputStream se convierten entre sí
 Propietario| Publicado en 27/11/2022 21:09:56 |
 Propietario| Publicado en 27/11/2022 22:35:47 |
¿Obtener el nombre actual del método de una función asincrónica?

El inicio de sesión del hipervínculo es visible.

C#5 añade propiedades de información de llamadas, que pueden darte más de lo que buscas. Tenga en cuenta que estos insertan la información adecuada en momento de compilación en el sitio que llama, en lugar de usar información en tiempo de ejecución. Funcionalidad más limitada (obviamente no tienes toda la pila de llamadas), pero mucho más rápida.





Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com