我有两个抽象类和Dao的接口:
public abstract class DBEntity
public abstract class GenericDao<T> : IDao<T> where T : DBEntity
public interface IDao<T> where T : DBEntity
我正在尝试在我的服务的构造函数中解析IDao<ModelClass.Model>
:
this.cvDao = IoC.Resolve<IDao<CV>>();
问题从这里开始。
我正在尝试注册IDao<>
,我已经使用了一些方法,例如:
container.Register(Component.For(typeof(IDao<>))
.ImplementedBy(typeof(GenericDao<>))
.LifestylePerWebRequest());
container.Register(AllTypes.FromAssemblyNamed("cvdb.Dao")
.BasedOn(typeof(IDao<>))
.WithService.Base());
但是所有这些方法都会导致相同的异常并产生相同的效果。我的应用程序有一个无限循环StackOverFlowException
。当我调试我的代码时,我发现我无法注册IDao<>
。
答案 0 :(得分:0)
GenericDao是一个抽象类。我应该尝试解析一个派生自它的类,或者将它的类型更改为非抽象类来创建实例。