1

バージョン: C# 4.0、Spring.Net 1.3.2、RhinoMocks 3.6.1

次の 2 つのインターフェイスがあるとします。

public interface IDivisionSelectView
{
    // ...
}

public interface ILoginView
{
    IDivisionSelectView DivisionSelectView { get; }

    // ...
}

Spring.Net を使用して、ファクトリを使用して、DivisionSelectViewプロパティがプロキシに自動設定されRhino.Mocks.MockRepository.GenerateMock<>()たプロキシ オブジェクトを作成しようとしています(同じファクトリを使用)。Spring XML は次のとおりです。ILoginViewIDivisionSelectView

<object id="IDivisionSelectView"
        type="Rhino.Mocks.MockRepository, Rhino.Mocks"
        factory-method="GenerateMock&lt;[Asm.Ns.IDivisionSelectView, Asm]>"
        singleton="false">
  <constructor-arg name="argumentsForConstructor">
    <list element-type="System.Object, mscorlib">
    </list>
  </constructor-arg>
</object>

<object id="ILoginView"
        type="Rhino.Mocks.MockRepository, Rhino.Mocks"
        factory-method="GenerateMock&lt;[Asm.Ns.ILoginView, Asm]>"
        singleton="false">
  <constructor-arg name="argumentsForConstructor">
    <list element-type="System.Object, mscorlib">
    </list>
  </constructor-arg>
  <property name="DivisionSelectView" ref="IDivisionSelectView">
  </property>
</object>

呼び出し元の C# コードは次のとおりです。

IApplicationContext ctx = new XmlApplicationContext(
    "assembly://Asm/Asm/spring.xml");
ContextRegistry.RegisterContext(ctx);

ILoginView view = ctx.GetObject("ILoginView") as ILoginView;

エラーは次のとおりです。

Spring.Objects.Factory.ObjectCreationException was unhandled by user code

Message=Error creating object with name 'ILoginView' defined in 'assembly [Asm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null], resource [Asm.spring.xml] line 14' : Initialization of object failed : 'DivisionSelectView' node cannot be resolved for the specified context [Castle.Proxies.ILoginViewProxy4fa9c3fa65ca497bb09ce6358d876e4d].

これは可能ですか?

4

1 に答える 1

0

ILoginView の DivisionSelectView プロパティにはセッターがありません。

于 2013-04-30T21:57:36.530 に答える