Ninject Intercept всех экземпляров класса X - PullRequest
3 голосов
/ 15 апреля 2011

Я пробую различные реализации фреймворков для AOP, и мне действительно нравится Ninject, однако есть один критерий, с которым я просто не могу работать ради жизни.

Я пытаюсь заставить его использовать перехватчик для всех классов, которые являются typeof (X) ... Вот мой текущий код:

Kernel.Intercept(x => x.Binding.Target.GetType().IsInstanceOfType(typeof(X))).With<SomeInterceptor>();

Первоначально я пробовал x.Request.Blah, а не x.Binding.Blah, однако ни один из способов не дал результатов, к которым я стремился ... и документация для этой удивительной функциональности довольно скудна и никогда не покрывает ядро Расширение .Intercept () ...

Надеюсь, это простой ответ!

1 Ответ

2 голосов
/ 18 апреля 2011

x.Binding.Target - это перечисление, которое указывает тип провайдера.Вы должны посмотреть на x.Binding.Service, который является связанным типом.Если вам нужен экземпляр типа, вам нужно дождаться следующего выпуска.

...