我需要一些帮助,使用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时,它不起作用!
有什么想法吗?
答案 0 :(得分:0)