Как создать объект, помеченный как динамический с Ninject? - PullRequest
0 голосов
/ 19 марта 2019

Я использую ninject для внедрения зависимостей в моем проекте и KingAOP для аспектов.

Коды Ninject

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, мне нужно пометить объект динамическим.

Ex. dynamic helloWorld = new HelloWorld(); helloWorld.HelloWorldCall();

Но я создаю объект через ninject. Есть ли способ пометить объект как динамический в Ninject?

...