我遇到的情况似乎与我见过的其他情况有点不同。为了澄清,这不是正常的问题,例如;诸如 IAClass 映射到 AClass 等之类的东西 - 这涉及每个接口(interface)基本上使用一个具体类。
这涉及到拥有一个通用类,但我希望能够加载它的所有可能用法。
例如 - 主类是
public class MyClass<TDomainObject> : IMyClass<TDomainObject>
where TDomainObject : DomainObject
所以示例用法是
IMyClass<Person> p = new MyClass<Person>;
IMyClass<Employer> p = new MyClass<Employer>;
即对于所有 DomainObjects,我希望能够为其加载 MyClass<>。所以你可以看到我没有为每个声明使用特定的类,它们都使用相同的类。
如何将其加载到 StructureMap 中?
最佳答案
这实际上是对泛型的更直接的使用。
For(typeof(IMyClass<>)).Use(typeof(MyClass<>))
如果您使用的是旧版本的 Structuremap,请替换为更详细的 ForRequestType
和 TheDefaultIsConcreteType
。
关于c# - 结构图和通用类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2644941/