У меня есть ситуация, когда я хотел бы перехватить вызовы в свойствах .NET. Я смотрю на DynamicProxy в Castle и, похоже, работает нормально. Но, кажется, для того, чтобы использовать его, я должен начать с новым объектом, то есть я не могу сделать что-то вроде этого:Обтекание существующих объектов, чтобы перехватить метод/вызовы свойств в .NET
MyType myType = new MyType();
myType.Property = "Test";
...
MyType wrappedMyType = proxyBuilder.Wrap(myType, new MyInterceptor());
wrappedMyType.Property = "Test2";
Могу ли я что-то упустил?
EDIT:
О боже, это, конечно, должен быть wrappedMyType. Большая ошибка. Сожалею. :(
Я не знаю, возможно ли это, но мне кажется, что это довольно сложно на статически типизированном языке. – rossipedia
вы не можете, вот почему: http://kozmic.pl/archive/2009/12/02/castle-dynamic-proxy-faq-why-therersquos-no-ldquoclass-proxy-with.aspx –
@ Krzysztof I скорее всего, имеет прокси-генератор, который заставляет меня отмечать все «более видимым», чем защищенные как виртуальные, чем потерять возможность обертывания существующих объектов. –