我正在尝试实现一个通用存储库,但我遇到了困难.以下是我的对象模型的摘要.问题是具体的存储库"UserAccountRepositoryStub"将无法编译.错误是:
用户类型必须可转换为IRepository类型...
IRepostory:
public interface IRepository<T> where T : IEntity
{
...
}
Run Code Online (Sandbox Code Playgroud)
抽象存储库:
public class AbstractRepository<T> where T : class, IEntity, IRepository<T> {...}
Run Code Online (Sandbox Code Playgroud)
IUserAccountRepository:
public interface IUserAccountRepository
Run Code Online (Sandbox Code Playgroud)
用户:
public class User : IEntity{...}
Run Code Online (Sandbox Code Playgroud)
UserRepositoryStub(混凝土):
public class UserAccoutRepositoryStub : AbstractRepository<User>, IUserAccountRepository
Run Code Online (Sandbox Code Playgroud)
AbstractRepository<T>应该的定义应该是
public class AbstractRepository<T> : IRepository<T> where T : class, IEntity {...}
Run Code Online (Sandbox Code Playgroud)
因为你希望存储库IRepository<T>不是实现其中的对象,对吧?
| 归档时间: |
|
| 查看次数: |
429 次 |
| 最近记录: |