我一直在使用自定义配置对象来打破我的头installing a Windsor container。这似乎很简单,但显然有一些重要的我只是没有得到。如果你能帮我填补这个空白,我会很感激。在Windsor安装程序中使用强类型配置参数
我有一个配置类:
class MyConfiguration
{
int SomeIntValue;
DateTime SomeDateValue;
Action<string> SomeActionValue;
}
我想这些配置值作为构造函数的参数传递到注册的实现。我猜这个注册应该是这样的:
public class MyInstaller : IWindsorInstaller
{
public void Install(IWindsorContainer container, IConfigurationStore store)
{
container.Register(Component.For<IFoo>.ImplementedBy<Foo>
.Parameters(Parameter.ForKey("parameter1").Eq(INSERT VALUE HERE (?));
}
}
那么我该如何把这些值传递给安装程序呢?我应该使用这个IConfigurationStore
参数吗?如果是这样,我该如何填补它,我该怎么处理它?
此外,似乎所有配置对象只能存储字符串值,所以如何传递不是字符串的值(例如DateTime
)?
谢谢你,祝你度过愉快的周末。
如果你不使用温莎城堡,那么你会在哪里和如何创建一个MyConfiguration的实例? – 2011-03-24 15:47:23
@Mark,MyConfiguration是一个自定义类,它与Castle没有任何关系。我只是将它作为参数从GUI层传递给逻辑层的初始化器。 – 2011-03-25 16:12:16
然后它就像其他任何组件一样。让容器解决它。 – 2011-03-25 16:26:46