Тип неправильно создан экземпляром StructureMap (с использованием конфигурации XML) - PullRequest
0 голосов
/ 08 июля 2010

ОК, я озадачен кажущейся тривиальной функциональностью.

Как мне получить StructureMap для инициализации свойств на экземплярах типов, извлеченных из контейнера, с использованием конфигурации XML (к сожалению, я должен использовать 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>

1 Ответ

1 голос
/ 08 июля 2010

Это похоже на проблему с типизацией в StructureMap.Использование int, float или double работает.Использование десятичной дроби не позволяет.

Обходной путь - использовать другой тип с плавающей запятой, такой как float или double.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...