.net 温莎城堡2.5突破性变化

.net 温莎城堡2.5突破性变化,.net,dependency-injection,castle-windsor,.net,Dependency Injection,Castle Windsor,我有一段代码,以前向组件添加ExtendedProperties,比如 component.ExtendedProperties( new { prop = someObject }); 此方法不再可用,并且属性的构造函数标记为internal 对于v2.5,有没有一种新的方法可以做到这一点 具体地说,我有一个定制的ComponentActivator,它在解析时需要从初始注册开始的一些实例信息。我一直在将此信息存储在ExtendedProperties中,然后在ComponentActiva

我有一段代码,以前向组件添加ExtendedProperties,比如

component.ExtendedProperties( new { prop = someObject });
此方法不再可用,并且属性的构造函数标记为internal

对于v2.5,有没有一种新的方法可以做到这一点

具体地说,我有一个定制的ComponentActivator,它在解析时需要从初始注册开始的一些实例信息。我一直在将此信息存储在ExtendedProperties中,然后在ComponentActivator构造函数中使用

model.ExtendedProperties["prop"] as MyObjectType;

这在.NET版本中从未更改过,所以我假设您正在谈论Silverlight的版本

此方法将回到2.5.1版,但是由于Silverlight运行时的限制性行为,您必须使程序集中的内部类型对
Castle.Core
可见

另一种适用于所有版本的方法是:

component.ExtendedProperties( Property.ForKey("prop").Eq(someObject));

太好了,谢谢。是的,它是针对SL的,但我对SL 4编译程序集使用了相同的Castle DLL,它由我的完整.NET web应用程序和我的SL 4客户端应用程序使用(因为二进制兼容性)。