2010-09-05 2 views
0

У меня код, который был ранее добавление ExtendedProperties к компонентам, какЗамок Виндзор 2.5 Критические изменения

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

Этот метод больше не доступен и конструктор собственности отмечен внутренним.

Есть ли новый способ сделать это для v2.5?

В частности, у меня есть пользовательский ComponentActivator, который нуждается в информации о экземпляре в момент разрешения от начальной регистрации. Я хранение этой информации в ExtendedProperties затем извлечения его в конструкторе ComponentActivator используя

model.ExtendedProperties["prop"] as MyObjectType; 

ответ

1

Это никогда не было изменено в .NET версии, поэтому я предполагаю, что вы говорите о версии для Silverlight.

Этот метод вернется в версию 2.5.1, однако из-за ограничительного поведения среды выполнения Silverlight вам необходимо будет сделать внутренние типы в вашей сборке видимыми для Castle.Core.

Альтернативный способ, который работает во всех версиях это:

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

Отлично, спасибо. Да, это для SL, но я использую те же Castle dll для сборника SL 4, который используется как моим полным веб-приложением .NET, так и моим клиентским приложением SL 4 (из-за двоичной совместимости). – Jeff

Смежные вопросы