Как сделать простой динамический прокси в C #
Я хочу построить динамический прокси-объект, чтобы добавить определенную функциональность к объекту.
в основном я хочу получить объект, обернуть его объектом, который выглядит идентично оригиналу, который я получил, и перехватить все вызовы.
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
}
}
Просто чтобы уточнить, я хочу сделать что-то похожее на фабрику каналов WCF ...
Я добавляю вознаграждение, потому что мне нужен хороший способ для прокси-классов (не интерфейсов) и для обработки не виртуальных методов (как будто я унаследовал и добавил метонд под ключевым словом "new"). Я уверен, что все это очень возможно, так как .Net делает это.