这应该有效: -
Bind(typeof(IRepository<>)).To(typeof(Repository<>));
其中: -
IRepository<>
是以下形式的界面: -
public interface IRepository<T> where T :class
{
//...
}
Repository<>
是一个形式的类: -
public class Repository<T>:IRepository<T> where T :class
{
//...
}
但是如何使用Ninject.Extensions.Xml在XML配置中执行此操作?
它不起作用。
答案 0 :(得分:0)
您可以通过typeof(IRepository<>).FullName
找到该类型的名称,然后按如下方式配置XML:
<module name="myXmlConfigurationModule">
<bind service="MyNamespace.IRepository`1, MyAssembly"
to="MyNamespace.Repository`1, MyAssembly" />
</module>
之前我还没有使用过Ninject的XML扩展,但应该工作