Como criar um proxy dinâmico simples em C #
uero criar um objeto proxy dinâmico para adicionar determinadas funcionalidades a um objet
basicamente quero receber um objeto, envolvê-lo com um objeto que pareça idêntico ao original que recebi e interceptar todas as chamada
class Wrapper : DynamicProxy// dynamic proxy is not a reall class, but i guess something like this exists...
{
public static T Wrap(T obj)
{
return (T) new Wrapper(obj);
}
public override object InterceptCall(MethodInfo info, object[] args)
{
// do stuff
}
}
Apenas para esclarecer, quero fazer algo semelhante à fábrica de canais WCF ...
Estou adicionando uma recompensa, porque preciso de uma boa maneira de proxy de classes (não interfaces) e de lidar com métodos não virtuais (como se eu tivesse herdado e adicionado um método na palavra-chave "new"). Tenho certeza de que tudo isso é muito possível, pois o .Net faz isso.