C# Ninject绑定
如何将我的接口绑定到不同程序集中的具体类 我的解决方案中有以下项目: 食物数据C# Ninject绑定,c#,ninject,C#,Ninject,如何将我的接口绑定到不同程序集中的具体类 我的解决方案中有以下项目: 食物数据 Foo.Domain 在结构映射中,我将我的两个程序集名称添加到StructureMap.config文件中,然后使用PluginFamily和Pluggable属性将我的接口映射到我的具体类 如何用Ninject完成同样的事情?我在这里做几个假设 在Foo.Domain项目中有一个名为IBar的接口,在Foo.Data项目中有一个名为BarClass的具体类 实际上,您在Foo.Data项目中引用了Foo.Doma
Foo.Domain 在结构映射中,我将我的两个程序集名称添加到StructureMap.config文件中,然后使用PluginFamily和Pluggable属性将我的接口映射到我的具体类
如何用Ninject完成同样的事情?我在这里做几个假设
internal class BarModule : StandardModule {
public override void Load() {
Bind<IBar>()
.To<BarClass>();
}
}
此时,当您执行以下操作时:
var barObj = kernel.Get<IBar>()
var barObj=kernel.Get()
变量barObj引用了BarClass的一个实例
总而言之,我可能无法完全理解应用程序的所有细微差别——例如,程序集是动态加载的,等等。希望这能有所帮助。解决方案中的项目是否同时包含接口和具体类?您是希望将它们绑定到一个消费解决方案/项目中还是在这个解决方案本身中?另外,您使用的是哪个版本的Ninject?@Peter接口在我的域中,具体类在数据层中。我只是想在解决方案中绑定。我还考虑在同一个项目中的seprate文件夹中执行此操作,而不是按项目将域和数据层分离。我正在使用Ninject 1.0作为紧凑的框架。虽然有点晚了,但这是一个非常可靠的回答,谢谢Peter。
var barObj = kernel.Get<IBar>()