c# - 结构图和通用类型

标签 c# generics structuremap

我遇到的情况似乎与我见过的其他情况有点不同。为了澄清,这不是正常的问题,例如;诸如 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,请替换为更详细的 ForRequestTypeTheDefaultIsConcreteType

关于c# - 结构图和通用类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2644941/

相关文章:

c# - 在 Web 服务中从 SQL Server 检索多个字段?

Java 通用代码在 eclipse 中构建,但不在 mvn 中构建(相同的 VM 版本)

haskell - 为什么 zip 在参数计数方面不是通用的?

.net - StructureMap GetAllInstances 在需要多个实例时返回一个实例

c# - 使用结构图注入(inject) wcf 客户端的可能方法

c# - 为什么 `.Select(...).Last()` 被优化,而 `.Select(...).Last(...)` 没有被优化?

c# - 为什么我们不允许在接口(interface)中指定构造函数?

c# - 删除某个字符后的所有内容(IndexOfAny 和 Remove)

java - 通用数组创建错误

structuremap - ASP.NET WebApi 操作过滤器和依赖范围