gpt4 book ai didi

c# - 设置 ninject 比较规则 I +"Somevalue"= Somevalue

转载 作者:太空宇宙 更新时间:2023-11-03 21:50:12 25 4
gpt4 key购买 nike

你好,我的问题可能有点愚蠢,但如果有人能帮助我,我将不胜感激。

所以我的问题是:如何使用 ninject 设置自动类与接口(interface)比较规则 I+"Class"= "Class"

让我们想象一下,我们在一个项目中有很多类类及其接口(interface)。

Class class1 : Iclass1{..}
Class class2 : Iclass2{..}
Class class3 : Iclass3{..}

马马虎虎......有一百个类和它的接口(interface)。

为每个类编写绑定(bind)规则非常烦人,我知道应该有一种自动绑定(bind)它的方法,就像在 CaSTLe Windsor 中一样。

谢谢,很多。我是 Ninject 的新手。

特别感谢,如果有人能提供一个例子。

最佳答案

你不需要映射规则:

I+“Somevalue” = Somevalue

相反,您可以使用反射来查找每个类的接口(interface),下面的代码假设所有类型都在执行程序集并且您的类的名称以“Class”开头,方法很像:

var types = Assembly.GetExecutingAssembly().GetTypes()
.Where(t => t.Name.StartsWith("Class"));

foreach (var type in types)
{
var interfaceType = type.GetInterfaces()
.Single();

kernel.Bind(type).To(interfaceType);
}

但很容易,您可以根据您的约定更改过滤类型的方式。

关于c# - 设置 ninject 比较规则 I +"Somevalue"= Somevalue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14931893/

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