Re[2]: DependencyProperty
От: Visor2004  
Дата: 16.12.10 09:02
Оценка:
Здравствуйте, MxMsk, Вы писали:

MM>Здравствуйте, Visor2004, Вы писали:


V>>Господа, прошу высказаться по поводу того, что лично вам не нравится в реализации DependencyProperty. Есть мнение, что в рамках функциональности DependencyProperty реализовать аналог лучше, чем реализован в Ms, практически нереально. Если бы вы делали DependencyProperty, как бы вы их делали?

MM>В DependencyProperty не нравится два момента. Первое — это невозможность положить Binding с режимом OneWayToSource в read-only свойство. Вторая — это, конечно же, боксинг. Но упаковки избежать просто не получиться, потому что внутренние механизмы (та же привязка) должны как-то хранить и обмениваться значениями.

Главное добиться на уровне контракта, в реализации почти всегда можно вывернуться. например, можно сделать что-то типа StoredValue<T>, который специфицировать в рантайме с помощью рефлексии.

V>>Мой вариант в виде C# псевдокода, описывающий основную идею, как видно максимум чего я добился пока — это типизация и отказ от упаковки/распаковки:

MM>Пока что ты этого добился на уровне контракта. А реализация? Как будешь хранить значение? Как твой вариант с атрибутами использовать для Attached Properties?
Никак чтоб поддержать attached behavior придется опции задавать параметром в методе Property.

Основной поинт в том, чтобы услышать альтернативные способы реализации. То как люди хотели бы это видеть.
Помните!!! ваш говнокод кому-то предстоит разгребать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.