と のようないくつかの型がParentClassA
あり、それらのコンストラクターには、以下のコードに示すようなParentClassB
パラメーターがあります。IEumerable<IType>,
public interface IType
{ }
public class TypeA : IType
{ }
public class TypeB : IType
{ }
public class ParentClassA
{
public ParentClassA(IEnumerable<IType> obj)
{
var d = obj;
}
}
public class ParentClassB
{
public ParentClassB(IEnumerable<IType> obj)
{
var d = obj;
}
}
今Structuremapレジストリで、(Structuremap dllのバージョンは3.1.5.0です)コンテキストに基づいて列挙型をセットアップしたいのですが、作成中の親オブジェクトに基づいて、
For<IEnumerable<IType>>().Use(x => ff(x)).AlwaysUnique();
public IEnumerable<IType> ff(StructureMap.IContext x)
{
if (x.RootType.Name.Equals(typeof(ParentClassA).Name))
return new List<IType>{ new TypeA() };
else return new List<IType> { new TypeA() };
}
しかし、ParentClassA などのコンストラクターでアプリケーションを実行すると (正常にビルドされます)、渡された空のリストしか表示されませんが、期待しているのは function からの戻りリストですff
。
提案してください。ありがとう。