Ninject, дополнение proxy-класса - C#
Формулировка задачи:
Есть код:Во второй строке объект 'unit' получается типа 'Castle.Proxies.SomeUnitProxy', что нужно для реализации перехвата вызовов.
Возможно ли как-то штатными средствами встроиться в процесс генерации типа 'SomeUnitProxy' и дополнить его своим функционалом до того, как контейнер создасть экземпляр?
Сейчас это выглядит так:И это не очень удобно, т.к. приходится каждый раз помнить, что для данного конкретного типа нужен дополнительный вызов, приходится явное приведение типа писать и выглядит такая запись намного более громоздко.
IKernel kernel = new StandardKernel(); SomeUnit unit = kernel.Get<SomeUnit>();
IKernel kernel = new StandardKernel(); SomeUnit unit = (SomeUnit)kernel.Get(myProxyService.GetProxy(typeof(SomeUnit)));
Решение задачи: «Ninject, дополнение proxy-класса»
textual
Листинг программы
public class FooInterceptor : IInterceptor { public FooInterceptor() { Console.WriteLine("init"); } public void Intercept(IInvocation invocation) { Console.WriteLine("before"); invocation.Proceed(); Console.WriteLine("after"); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д