C# app.config实现的分离
我对以下场景感兴趣。存在包含名为IRepository的通用存储库接口的类库。该库还包含同一接口的多个实现,例如UserRepository、ItemRepository等。此外,我无法添加外部库,如Unity或其他DI容器。我的问题是:C# app.config实现的分离,c#,.net,dependency-injection,inversion-of-control,C#,.net,Dependency Injection,Inversion Of Control,我对以下场景感兴趣。存在包含名为IRepository的通用存储库接口的类库。该库还包含同一接口的多个实现,例如UserRepository、ItemRepository等。此外,我无法添加外部库,如Unity或其他DI容器。我的问题是: 有没有一种方法可以通过 配置文件(例如,用于存储库工厂) 是否可以创建一个配置文件来保存实现接口的类的路径 如果存在这种可能性,是否也可以创建使用该信息的类(例如,使用特定实现生成存储库的工厂) 最好的方法是使用Unity容器。它允许在配置文件中执行类似操作:
最好的方法是使用Unity容器。它允许在配置文件中执行类似操作:
<container>
<register type="ILogger" mapTo="EventLogLogger" />
</container>
或者,您也可以通过阅读配置部分并在应用程序启动时使用反射创建实例来执行相同的操作一些IOC容器通过xml提供配置。这就是你要找的吗?很抱歉我不清楚。我将编辑此问题以提供更多上下文如果不允许外部依赖(安装unity等),该怎么办?任何想法都是非常可取的。我认为在这种情况下,唯一的方法是自己实现容器:创建带有接口实现映射的配置部分,在应用程序启动时阅读此内容,并使用反射创建实例。你的情况可能吗?