gpt4 book ai didi

c# - Ninject 基类和继承类绑定(bind)到同一个实例

转载 作者:行者123 更新时间:2023-11-30 20:40:42 24 4
gpt4 key购买 nike

我有一个将 DbContext 作为构造函数参数的通用存储库。要注入(inject)它,我的绑定(bind)看起来是这样的:

Bind<DbContext>().To<MyApplicationsContext>().InRequestScope();

我还有自定义存储库,它直接将 MyApplicationContext 作为构造函数参数。我该如何编写这样的绑定(bind),无论存储库请求基类 DbContext 还是继承类 MyApplicationContext,它都会获得相同的实例 InRequestScope?

最佳答案

您要使用的是 Bind<>() 的重载方法。

在您的情况下,您的代码将是:

Bind<DbContext, MyApplicationsContext>().To<MyApplicationsContext>().InRequestScope();

如果您想使用开放泛型或需要使用 System.Type 进行绑定(bind)你可以使用这个重载

Bind(typeof(DbContext), typeof(MyApplicationsContext))
.To(typeof(MyApplicationsContext))
.InRequestScope();

关于c# - Ninject 基类和继承类绑定(bind)到同一个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33038332/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com