将结构图转换为Autofac的问题

问题描述 投票:0回答:1

出于各种原因,我们需要在我们的库中使用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'.'
c# inversion-of-control autofac structuremap
1个回答
0
投票

[Autofac中有一种特殊方法RegisterGeneric用于开放式泛型:

builder.RegisterGeneric(typeof(Repository<>))
       .As(typeof(IRepository<>))
       .InstancePerLifetimeScope();
© www.soinside.com 2019 - 2024. All rights reserved.