在StructureMap中自动注册复杂的泛型类型

时间:2011-07-08 02:02:32

标签: structuremap

我需要一些帮助,使用StructureMap自动注册泛型。这是我的情景:

public class Object<T>
{
}

public interface IBehvior<T>
{
    void DoSomething(T t);
}

public class Behvior<T> : IBehvior<Object<T>>
{
    public void DoSomething(Object<T> t)
    {

    }
}

我想要完成的是:

var x = ObjectFactory.GetInstance<IBehavior<Object<int>>();

但是当我运行此语句时,它给出了一个错误,即没有配置默认实例。在我的StructureMap配置中,我使用了

ConnectImplementationsToTypesClosing(typeof(IBehavior<>))

但它仍然无效!

请注意,如果我没有Object,这样可以正常工作。例如,如果我有:

public class IntBehavior : IBehavior<int>
{ 
}

一切都很完美。但是当我用泛型类型替换int时,它不起作用!

有什么想法吗?

1 个答案:

答案 0 :(得分:0)