如何在Autofac中创建通用AggregateService

时间:2016-02-04 13:01:18

标签: generics autofac

您可以这样做:

注册:

builder.RegisterAggregateService(typeof(IGenericAggregateService<>));

构造函数定义:

public Repository(IGenericAggregateService<TEntity> aggregateService)

但autofac无法解析aggregateService参数。

有解决方法吗?

1 个答案:

答案 0 :(得分:0)

据我所知,这是不可能的。但有一个解决方法。它需要一些额外的努力。

  1. 以与创建普通聚合服务相同的方式创建通用聚合服务接口。
  2. 使用构造函数创建一个通用聚合服务实现,该构造函数请求所有底层服务,并使用其提供的值设置属性。
  3. 使用open generics registration concept注册通用聚合服务。