OK, je suis bloqué par une fonctionnalité apparemment triviale.Type n'étant pas correctement instancié par StructureMap (en utilisant la configuration XML)
Comment puis-je obtenir StructureMap pour initialiser les propriétés sur les instances de type récupérées à partir du conteneur, en utilisant la configuration XML (malheureusement, je dois utiliser XML)?
Mon code actuel est:
Le type et l'interface:
public interface IMyType
{
decimal MyProperty { get; set; }
}
public MyType : IMyType
{
public decimal MyProperty {get; set; }
}
L'initialisation du récipient et par exemple un code de récupération:
ObjectFactory
.Initialize(x => x.AddConfigurationFromXmlFile(@"StructureMap.config"));
IMyType instance = ObjectFactory.GetNamedInstance<IMyType>("Blah");
var myPropertyValue = instance.MyProperty; //expected 1, is actually 0
configuration 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>
Après avoir testé ce qui précède, cela fonctionne; probablement un problème d'initialisation du conteneur. Je suis en train d'enquêter. – Ben
Suspect un problème de frappe - une propriété de chaîne fonctionne, décimal ne ... – Ben