我有UnitofWork類,它實現了IUnitOfWork。我嘗試註冊與autofac:使用Autofac註冊Generic類型
var builder = new ContainerBuilder();
builder
.RegisterGeneric(typeof(UnitOfWork<Repository<>,>))
.As(typeof(IUnitOfWork))
.InstancePerDependency();
實施是:
public class Repository<T> : GenericRepository<T>
where T : BaseEntity
{
public Repository(IDbContext context)
: base(context) { }
}
public abstract class GenericRepository<T>
: IRepository<T>, IQueryable<T> where T : BaseEntity
{
}
builder
.RegisterGeneric(typeof(Repository<>))
.As(typeof(IRepository<>))
.InstancePerHttpRequest();
:
public class UnitOfWork<T, O> : IUnitOfWork
where T : Repository<O>
where O : BaseEntity
{
}
public interface IUnitOfWork : IDisposable
{
void SaveChanges();
}
給出了一個錯誤「類型期待」
但在另一個項目這一個工作
「給出一個錯誤「預期類型」,你必須更加明確,你的意思是t C#編譯器給出這個錯誤,對吧? – Steven 2013-03-05 15:27:59
對不起,項目無法編譯並出現UnitOfWork的「Type Expected」錯誤 –
shortcode
2013-03-05 16:03:12