出于各种原因,我们需要在我们的库中使用Autofac。我们当前正在使用Structuremap,并且无法将以下内容转换为Autofac
For(typeof(Data.New.IRepository<>)).Use(typeof(Data.New.Repository<>));
我们正在Autofac中尝试以下操作
builder.RegisterType(typeof(Repository<>)).As(typeof(IRepository<>));
并且收到以下错误
System.ArgumentException: 'The type 'Repository`1[T]' is not assignable to service 'IRepository`1'.'
[Autofac中有一种特殊方法RegisterGeneric
用于开放式泛型:
builder.RegisterGeneric(typeof(Repository<>))
.As(typeof(IRepository<>))
.InstancePerLifetimeScope();