typeparam example cref c# reflection

cref - summary example c#



Cómo puedo obtener los métodos de llamada en C# (2)

Esta pregunta ya tiene una respuesta aquí:

Posible duplicado:
¿Cómo puedo encontrar el método que llamó al método actual?

Necesito una forma de saber el nombre de los métodos de llamada en C #.

Por ejemplo:

private void doSomething() { // I need to know who is calling me? (method1 or method2). // do something pursuant to who is calling you? } private void method1() { doSomething(); } private void method2() { doSomething(); }


Es casi seguro que no quieres hacer esto. Una persona que llama nunca debe saber quién lo está llamando. En cambio, la diferencia entre las dos personas que llama debe abstraerse en un parámetro y pasarse al método que se llama:

private void doSomething(bool doItThisWay) { if (doItThisWay) { // Do it one way } else { // Do it the other way } } private void method1() { doSomething(true); } private void method2() { doSomething(false); }

De esta forma, si agrega un método3, puede hacer algo de una manera u otra, y hacer algo no le importará.