我正在尝试AOP的各种框架实现,我真的很喜欢Ninject,但是有一个标准我一辈子都无法实现。
我试图让它使用拦截器对所有的类是一个类型的(X)…下面是我当前的代码:
Kernel.Intercept(x => x.Binding.Target.GetType().IsInstanceOfType(typeof(X))).With<SomeInterceptor>();
我本来是尝试x.Request.Blah而不是x.Binding.Blah,但是两种方式似乎都不能产生我想要的结果…关于这个惊人功能的文档很少,而且似乎从来没有涵盖过Kernel.Intercept()扩展…
希望是一个简单的答案!
x.Binding.Target
是一个enum,指定提供程序的类型。你必须看看x.Binding.Service
,它是束缚型的。如果您需要实例化的类型,则必须等待下一个版本。