我在项目中使用ninject进行依赖注入,在方面中使用KingAOP。
注入代码
public class BusinessModule : NinjectModule
{
public override void Load()
{
Bind<ICommitmentService>().To<CommitmentManager>().InSingletonScope();
Bind<ICommitmentDal>().To<EfCommitmentDal>().InSingletonScope();
}
}
测试方面
public class TestAspect : OnMethodBoundaryAspect
{
public override void OnEntry(MethodExecutionArgs args)
{
Debug.WriteLine("OnEntry: Hello KingAOP");
}
public override void OnSuccess(MethodExecutionArgs args)
{
Debug.WriteLine("OnSuccess: Hello KingAOP");
}
public override void OnExit(MethodExecutionArgs args)
{
Debug.WriteLine("OnExit: Hello KingAOP");
}
}
经理班
public class CommitmentManager : ICommitmentService
{
private readonly ICommitmentDal _disclaimerDal;
public CommitmentManager(ICommitmentDal disclaimerDal)
{
_disclaimerDal = disclaimerDal;
}
[TestAspect]
public void Test()
{
Debug.WriteLine("Test");
}
}
要使用KingAOP,我需要将对象标记为动态。
例如
dynamic helloWorld = new HelloWorld();
helloWorld.HelloWorldCall();
但是我正在通过ninject创建对象。 是否可以在Ninject中将对象标记为动态对象?