gpt4 book ai didi

c# - 如何在 autofac 中注册通用接口(interface)的所有实现?

转载 作者:可可西里 更新时间:2023-11-01 08:02:35 28 4
gpt4 key购买 nike

我已经创建了通用接口(interface),假设将实体映射到 View 模型并向后映射。我必须在 autofac 配置中进行大约 80 次注册。是否可以将它们注册为批处理?这是界面:

public interface ICommonMapper<TEntity, TModel, TKey>
where TEntity : BaseEntity<TKey>
where TModel : BaseEntityViewModel<TKey>
where TKey : struct
{
TModel MapEntityToModel(TEntity entity);
TModel MapEntityToModel(TEntity entity, TModel model);
TEntity MapModelToEntity(TModel model);
TEntity MapModelToEntity(TModel model, TEntity entity);
}

谢谢!

最佳答案

你可以使用:

builder.RegisterAssemblyTypes(assemblies)
.AsClosedTypesOf(typeof(ICommonMapper<,,>));

在哪里assemblies是您的类型所属的程序集的集合。

如果你有 PersonMapper继承自 ICommonMapper<Person, PersonModel, Int32> , Autofac 将能够解析 ICommonMapper<Person, PersonModel, Int32>

关于c# - 如何在 autofac 中注册通用接口(interface)的所有实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37707644/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com