0

OK、私は一見些細な機能に困惑しています。

XML構成を使用して、コンテナーから取得した型インスタンスのプロパティをStructureMapで初期化するにはどうすればよいですか(残念ながら、XMLを使用する必要があります)。

私の現在のコードは次のとおりです。

タイプとインターフェース:

public interface IMyType
{
  decimal MyProperty { get; set; }
}

public MyType : IMyType
{
  public decimal MyProperty {get; set; }
}

コンテナの初期化とインスタンスの取得コード:

ObjectFactory
  .Initialize(x => x.AddConfigurationFromXmlFile(@"StructureMap.config"));
IMyType instance = ObjectFactory.GetNamedInstance<IMyType>("Blah"); 
var myPropertyValue = instance.MyProperty; //expected 1, is actually 0

XML構成:

<?xml version="1.0" encoding="utf-8" ?>
<StructureMap MementoStyle="Attribute">  
  <AddInstance
    PluginType="MyNamespace.IMyType, MyAssemblyName"
    PluggedType="MyNamespace.MyType, MyAssemblyName"
    Key="Blah"
    Name="Blah
    MyProperty="1" />
</StructureMap>
4

1 に答える 1

1

これは、StructureMapの入力の問題のように見えます。int、float、またはdoubleを使用すると機能します。小数を使用することはできません。

回避策は、floatやdoubleなどの別の浮動小数点型を使用することです。

于 2010-07-08T15:52:47.083 に答える