从其他项目获取类实例

时间:2017-08-02 10:05:17

标签: c# dependency-injection .net-core ioc-container

我有一个类库,其类如下:

public class GoogleSearch
{
    private IGoogleApiHelper _googleApiHelper;

    public GoogleSearch(IGoogleApiHelper googleApiHelper)
    {
        _googleApiHelper = googleApiHelper;
    }
    //some methods
}

googleApiHelper是从库的IoC容器获取的服务。 我可以从库外部创建GoogleSearch类的实例,并从IoC容器中获取googleApiHelper服务吗?

1 个答案:

答案 0 :(得分:2)

  

googleApiHelper是从库的IoC容器获取的服务。

防止这样做。库不应该使用DI容器,只有启动项目应该引用DI容器并且应该进行所有必需的注册,包括属于库的类型。有关详细信息,请参阅Composition Root

如果您遵循组合根模式,您将不会遇到任何问题,因为所有内容都是在一个地方组成的。