1
我想有選擇地使用攔截類型使用Ninject。如果一個實現實現了特定的接口,我想攔截它。我如何檢查一個Ninject激活上下文來查看它的目標是否實現了一個接口?看看是否Ninject激活上下文綁定到類型
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
var kernal = new StandardKernel();
kernal.Bind<IFoo>().To<Foo>();
kernal.Intercept(x =>
{
if (x is an IGetIntercepted)
{
return true;
}
return false;
});
}
public interface IGetIntercepted
{ }
public interface IFoo
{ }
public class Foo : IFoo, IGetIntercepted
{ }
}
- 注意,在這個例子中,我要檢查美孚,不IFoo的。 (的IFoo在Ninject.Activation.Binding.Service財產很容易找到)