gpt4 book ai didi

c# - 在与 Ninject 绑定(bind)时使用通用类型——这可能吗?

转载 作者:行者123 更新时间:2023-11-30 17:16:32 25 4
gpt4 key购买 nike

使用 Ninject,在我的主程序中调用:

var kernel = new StandardKernel(new MyBindings());
var stuff = kernel.Get<MediaPresenter>();

不幸的是我得到了一个异常(exception):

No matching bindings are available, and the type is not self-bindable.

我真的不明白这是什么意思。这是我的绑定(bind)类:

class MyBindings : NinjectModule
{
public override void Load()
{
Bind<MediaPresenter>().ToSelf();
Bind(typeof (Dao<Book>)).To(typeof (Dao<Book>));
}
}

如果我删除该行:

Bind(typeof(Dao<Book>)).To(typeof(Dao<Book>));

应用程序运行,但随后我没有绑定(bind)。

为什么这种事情不起作用,我该如何解决?

最佳答案

现在无法测试,但应该可以:

Bind(typeof (Dao<>)).To(typeof(Dao<>));

使用界面,可能是一个更好的想法:

Bind(typeof (IDao<>)).To(typeof(Dao<>));

关于c# - 在与 Ninject 绑定(bind)时使用通用类型——这可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7204396/

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