tinyioc寄存器和与多种类型的接口



我正在尝试在TinyIoc

中注册基本接口IService

目前,我有多个从Iservice

继承的类

例如AuthenticationServiceRestService都从实现Iservice

的基础类Service继承

我这样做的方式就是这样,单独注册每个服务。

container.Register<IAuthenticationService, AuthenticationService>();
container.Register<IRestService, RestService>();

由于它们都从 Service : IService继承,有没有一种方法可以在一个呼叫中注册,还是我必须单独注册每个服务?

接受FuncRegister方法有一个过载,您可以用来确定要返回的混凝土类型:

var decision = true;
container.Register<IService>((c, npo) =>
{
    // Change it to whatever logic you need to decide which service should be returned
    if (decision)
        return new AuthenticationService();
    else
        return new RestService();
});
var instance = container.Resolve<IService>();

相关内容

  • 没有找到相关文章

最新更新