2010-04-20 61 views
0

我有一个类,我想通过配置实例化城堡。城堡温莎容器没有正确配线属性

public class MyMappings : IMappings 
{ 
    Mapping FirstMapping { get; set; } 
    Mapping SecondMapping { get; set; } 
    OtherType ThirdMapping { get; set; } 
    OtherType FourthMapping { get; set; } 
    Mapping FifthMapping { get; set; } 
    OtherType SixMapping { get; set; } 
} 

在我的配置,我有以下几点:

< component id="mymappings" type="MyMappings, MyAssmebly" > 
    < parameters> 
     < firstMapping>${anothercomponentIDForCompomentOftypeMapping}< /firstMapping> 
    < /parameters> 
< /component> 

我现在面临的问题是,被分配相同的值,相同类型的所有属性,完全地忽略了参数的名称。这个属性是可选的,我只是想初始化其中的一个值。

感谢,

+0

请格式化代码块 – 2010-04-20 15:37:58

回答

0

如果你有在容器中注册类型映射或OTHERTYPE组件,温莎会在你可选的依赖注入其中。你在xml配置中做了什么是服务重写,也就是说,你为特定参数选择了特定的组件,但这并不意味着其他参数将不会被注入是一个适合的组件。

如果您想避免注入某些可选依赖项,请参阅this question

+0

我仍然希望其他可选的依赖项可以从配置注入,但不仅仅基于类型..只有当配置参数的名称匹配时.. 某些应用程序将只初始化一个财产,而其他人将初始化更多...在配置中没有明确初始化的任何财产应保持为空。 – Damian 2010-04-20 19:55:31