2010-09-05 34 views
0

我以前添加ExtendedProperties到組件,如城堡溫莎2.5重大更改

component.ExtendedProperties(new { prop = someObject }); 

代碼這種方法不再可用,物業構造標記內部。

v2.5有沒有新的做法呢?

具體來說,我有一個自定義的ComponentActivator,它需要在最初註冊時的分辨率時間提供一些實例信息。我一直保存在ExtendedProperties此信息,然後使用

model.ExtendedProperties["prop"] as MyObjectType; 

回答

1

這是從來沒有在.NET版本改變取回在ComponentActivator構造,所以我假設你是在談論版本的Silverlight。

此方法將返回到版本2.5.1,但由於Silverlight運行時的限制性行爲,您必須使您的程序集中的內部類型對於Castle.Core可見。

替代方式,跨所有版本的工作原理是這樣的:

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

完美,謝謝。是的,這是針對SL的,但我使用的是同樣的Castle dll,用於SL 4編譯的程序集,由我的完整.NET Web應用程序和我的SL 4客戶端應用程序(由於二進制兼容性)使用。 – Jeff 2010-09-05 22:00:44