Объект перехвата, созданный не из ядра ninject

Скажем, у меня есть класс:

public class SomeClass {
    public virtual void InterceptedMethod ()
    {
        // Do something.
    }
}

Я использую Ninject с расширением interception. Я хочу перехватить InterceptedMethod. Если я создал объект из ядра ninject, этот метод перехватывается.

kernel = InitializeKernel ();
SomeClass objectFromKernel = kernel.Get<SomeClass> ();
objectFromKernel.InterceptedMethod (); // this method is intercepted.

Но, если я создал объект не из ядра, этот метод НЕ перехватывается.

kernel = InitializeKernel ();
SomeClass objectSelfCreated = new SomeClass ();
objectSelfCreated.InterceptedMethod (); // this method is NOT intercepted.

Можно ли перехватить самостоятельно созданный объект с помощью ninject? Если возможно, как я могу это сделать?


person Khairuddin Ni'am    schedule 29.05.2011    source источник


Ответы (1)


Никакой Ninject не сможет вам помочь в этой ситуации. Вы должны создать прокси самостоятельно или изменить дизайн, чтобы объект создавался Ninject. См. документацию вашей прокси-фабрики о том, как это сделать.

person Remo Gloor    schedule 29.05.2011