我有以下组件
public class MyTimer : IMyTimer {
public MyTimer(TimeSpan timespan){...}
}
其中时间跨度应由属性 ISettings.MyTimerFrequency 提供。
如何在 Windsor 容器 xml 中连接它?我以为我可以做这样的事情:
<component id="settings"
service="MySample.ISettings, MySample"
type="MySample.Settings, MySample"
factoryId="settings_dao" factoryCreate="GetSettingsForInstance">
<parameters><instance_id>1</instance_id></parameters>
</component>
<component id="my_timer_frequency"
type="System.TimeSpan"
factoryId="settings" factoryCreate="MyTimerFrequency" />
<component id="my_timer"
service="MySample.IMyTimer, MySample"
type="MySample.MyTimer, MySample">
<parameters><timespan>${my_timer_frequency}</timespan></parameters>
但我收到一个错误,因为当工厂设施需要一个方法时,MyTimerFrequency 是一个属性。
这里有一个简单的解决方案吗?我是以错误的方式处理整个事情吗?
编辑:肯定有解决方案,请参阅下面的答案。