2011-07-08 16 views
0

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<>)) 

しかし、それでも動作しません!

私はオブジェクトを持っていなかった場合、これはうまくいきました。たとえば、私が持っている場合:

public class IntBehavior : IBehavior<int> 
{ 
} 

すべてがうまくいきます。しかし、int型を汎用型に置き換えると、動作しません!

アイデア?

答えて

関連する問題