me he dado cuenta de que .NET 4.5 tiene un nuevo atributo llamado [CallerMemberNameAttribute] que, cuando se une a un parámetro de un método, suministrará el nombre de la cadena del método que llama ese método (si tiene sentido).C# obtienen llamadas Método de Seguimiento de la pila Sin
Sin embargo, desafortunadamente (porque quiero hacer algo con XNA), solo estoy apuntando a .NET 4.0.
Quiero ser capaz de hacer algo como:
void MethodA() {
MethodB();
}
void MethodB() {
string callingMethodName = (...?);
Console.WriteLine(callingMethodName);
}
Donde mi salida sería MethodA.
sé que podría hacerlo a través de seguimiento de la pila, pero eso es a) No es fiable y b) de muy lenta ... Así que me pregunto si hay alguna otra manera de recoger esa información, sin embargo, que puede haber ...
Estaba esperando cualquier idea o conocimiento que alguien pueda tener sobre el tema. Gracias de antemano :)
¿Pasa el nombre del método de llamada como una cadena? – Oded
@Oded Bien, sí, claramente podría llamar a MethodB ("MethodA"), pero el punto es que estoy tratando de hacerlo de forma dinámica, de modo que si cambio MethodA a MethodC, no tengo que editar esa llamada también. – Xenoprimate
No pudo mencionar ese punto en la pregunta. – Oded