c# - app.config 分离实现

标签 c# .net dependency-injection inversion-of-control

我对以下场景感兴趣。存在一个包含名为 IRepository 的通用存储库接口(interface)的类库。该库还包含同一接口(interface)的多个实现,例如UserRepository、ItemRepository 等。此外,我无法添加外部库,如 Unity 或其他 DI 容器。我的问题是:

  1. 有没有办法通过 配置文件(例如,为了存储库工厂的目的)?
  2. 是否可以创建一个配置文件来保存实现接口(interface)的类的路径?
  3. 如果存在这种可能性,是否也可以创建一个使用该信息的类(例如,使用特定实现生成存储库的工厂)?

最佳答案

最好的方法是无论如何都使用 Unity 容器。它允许在配置文件中做类似的事情:

<container>
  <register type="ILogger" mapTo="EventLogLogger" /> 
</container>

或者您可以自己阅读配置部分并在应用程序启动时使用反射创建实例来做同样的事情

关于c# - app.config 分离实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34490473/

相关文章:

.net - 如何以编程方式刷新 Windows Mobile 中的 DNS 缓存?

gwt - 如何通过 GIN 与 UiBinder 和小部件一起使用注入(inject)?

C# 字典 - 如何解决项目数量限制?

c# - Linq 数据类型与 Double 的比较

c# - 从不同元素反序列化具有相同名称的 xml 属性

c# - 将c#中的字符串传递给静态语句

c# - 如何构建批量返回数据的WCF服务

.net -/NetOnly 从非域 PC 模拟域用户

c# - WPF MVVM 轻应用程序中的 SimpleIoc 问题

dependency-injection - Azure Service Fabric 有状态 Actor 中 IActorStateManager 的依赖注入(inject)