【发布时间】:2011-04-19 04:18:38
【问题描述】:
我正在使用 StructureMap DI/IoC,并且我有一个通用的 InMemory 存储库。效果很好。我想知道是否可以在请求时定义每个存储库保存的初始数据?
现在,第一反应是在类的构造函数中执行此操作 - 但我使用的是通用存储库..所以我不知道将要实例化哪种类型的类。接下来,我可以将 GenericRepository 子类化,然后创建一个构造函数 - 当然 :) 这 会 工作.. 但是当 GenericRepository 或多或少在做时,我试图避免为每个存储库创建一个类我想要的一切:)(是的,有一些特定的实例是我做子类的,等等。但让这篇文章保持简单)。
那么,有没有办法说
- 在请求 IRepository 时创建 InMemoryGenericRepository 实例
- 现在,调用这个静态方法(它会填充那个 Repo 即时):Foo(IRepository repository) { ... } 这当然会传入刚刚由 StructureMap 创建的实例。
【问题讨论】:
标签: .net dependency-injection inversion-of-control structuremap default-value