0

私はこのコードを持っています:

public enum StateId { NotSet = 0, AL, ..., WY }

public class EnumBasedArray<I,V>:IEnumerable<V> 
{
  public V this[I index]
  { 
    get { return _data[index]; }
    set { _data[index] = value; }
  }
  // other code to manage values internally
}

public class AnotherObject { ... }

public class ArrayOfAnotherObjectByStateId:EnumBasedArray<StateId, AnotherObject> {}

私が問題を抱えているのは、Spring.NET に、構成 XML ファイルを介して StateId インデックス付き配列内の各項目の値を伝えることです。

コードでは、次のように記述します。

var x = new ArrayOfAnotherObjectByStateId();
x[StateId.AZ] = new AnotherObject(...);
x[StateId.CA] = new AnotherObject(...);

Spring xml でこれを行うにはどうすればよいですか? 私が来た最も近いものは次のとおりです。

<object id="matrix" type="ArrayOfAnotherObjectByStateId">
   <property name="[AZ]" ref="AZ.Matrix">
</object>

<object id="AZ.Matrix" type="AnotherObject" />

これにより、「コンテキスト 'spring.root' の作成中にエラーが発生しました: 指定されたコンテキストに対して 'AZ' ノードを解決できません」というエラーが表示されます。

4

1 に答える 1

1
<object id="matrix" type="ArrayOfAnotherObjectByStateId">
   <property name="[T(NamespaceYouUse.StateId).AZ]" ref="AZ.Matrix">
</object>

Spring.NET1.2でテスト済み

于 2009-11-06T11:27:02.543 に答える