具有多种实现方式的通用App服务接口

时间:2018-09-04 16:05:03

标签: aspnetboilerplate

我想将通用服务接口实现为多个类。这可能吗?似乎它只是选择要注入的类之一。我可能会在依赖注入本身中丢失一些东西。如果可能的话,我想避免为每个类创建单独的接口。

1 个答案:

答案 0 :(得分:2)

假设您具有这样的界面:

public interface IMyService<TEntity> { ... }

,您有2种实现方式:

public class MyUserService : IMyService<User> { ... } public class MyRoleService : IMyService<Role> { ... }

要注入IMyService<User>IMyService<Role>,您应该在模块的Initialize方法中将它们注册到DI:

IocManager.Register<IMyService<User>, MyUserService>(DependencyLifeStyle.Transient); IocManager.Register<IMyService<Role>, MyRoleService>(DependencyLifeStyle.Transient);