2

と のようないくつかの型が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

提案してください。ありがとう。

4

0 に答える 0