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