如何使用Ninject创建标记为动态的对象?

时间:2019-03-19 08:54:46

标签: c# dynamic ninject

我在项目中使用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中将对象标记为动态对象?

0 个答案:

没有答案