que tienen alguna de las interfaces, y una clase que implementa esta interfaz, dicen:Cómo Generar automáticamente Decorator en C#
interface IMyInterface
{
void Func1();
void Func2();
}
class Concrete : IMyInterface
{
public virtual void Func1() { //do something }
public virtual void Func2() { //do something }
}
Ahora, quiero crear una clase que decora cada uno de los métodos de la clase de hormigón con algunos lógica específica, que se ejecutará en un entorno que no sea de producción, antes y después de la llamada.
class Decorator : Concrete
{
public override void Func1() { Pre(); base.Func1; Post(); }
public virtual void Func2() { Pre(); base.Func2; Post(); }
}
Mi pregunta es que hay una manera más sencilla para auto generar dicha clase que no sea el uso reflexión sobre la interfaz y crear un archivo de texto con extensión cs?
El mensaje de Invocación debería devolver algo, así que devolví el mensaje original. Se llamó al método original, pero obtuve la siguiente excepción: System.Runtime.Remoting.RemotingException: se llamó al método con un mensaje de tipo inesperado. ¿Alguna idea? –
Al buscar en MSDN (http://msdn.microsoft.com/en-us/library/system.runtime.remoting.proxies.realproxy.aspx) se debe devolver un tipo de IMethodReturnMessage. ¿Cómo simplemente creo uno? –
nuevo ReturnMessage (retval) - vea aquí: http://msdn.microsoft.com/en-us/library/system.runtime.remoting.messaging.returnmessage.aspx – SpeksETC