获取StructureMap中已注册的开放通用接口的所有实例

时间:2016-03-07 20:33:31

标签: c# structuremap

我想在StructureMap中注册一个接口作为开放泛型,并且能够获取指定约束的实现实例:

interface ITestInterface<T> { }

class TestGenericClassOne<T> : ITestInterface<T> { }

class TestGenericClassTwo<T> : ITestInterface<T> { }

[...]

_container.Configure(expression => expression.Scan(scanner =>
{
    scanner.AssemblyContainingType(typeof(ITestInterface<>));
    scanner.ConnectImplementationsToTypesClosing(typeof(ITestInterface<>));
}));

// Should return a TestGenericClassOne<int> and a TestGenericClassTwo<int>.
var actual = _container.GetAllInstances<ITestInterface<int>>().ToArray();

有没有办法实现这个目标?

0 个答案:

没有答案
相关问题