Lo que estoy buscando es una forma de llamar a un método después de invocarlo pero antes de ingresarlo . Ejemplo:Hay una manera en .NET de llamar automáticamente a un método después de que se haya invocado otro método, pero antes de que se haya ingresado
public class Test {
public void Tracer (...)
{
}
public int SomeFunction(string str)
{
return 0;
}
public void TestFun()
{
SomeFunction("");
}
}
En el ejemplo anterior me gustaría tener trazador() llamada después de algunaFuncion() ha sido invocada por TestFun(), pero se introduce antes de algunaFuncion(). También me gustaría obtener datos de reflexión sobre SomeFunction().
Encontré algo interesante en las respuestas de todos. La mejor respuesta a la pregunta es usar CastlePro DynamicProxy; sin embargo, esto no es lo que voy a usar para resolver mi problema porque requiere agregar una biblioteca a mi proyecto. Tengo solo unos pocos métodos que debo "rastrear", así que he optado por utilizar una metodología "básica" modificada, mezclada con la forma en que se implementa Dynamic Proxy. Explico esto en mi respuesta a mi propia pregunta a continuación.
Como nota, voy a buscar en el AOP y en la clase ContextBoundObject para algunas otras aplicaciones.
Si encuentra que el ContextBoundObject algo útil por favor voten mi respuesta de -1 :) Es una buena solución si sólo desea utilizar bibliotecas del núcleo de .NET. –