Как реализован проект WPF DependencyObject?
Существуют ли какие-либо статьи, описывающие, как класс DependencyObject
в WPF работает "под капотом"?
В частности, мне интересно, как свойства зависимостей хранятся и доступны эффективно.
Ответы
Ответ 1
Как известно, свойство зависимостей может быть определено только для типов подкласса DependencyObject. Этот базовый класс определяет словарь значений ключей, который содержит локальные значения свойств зависимостей.
При доступе к свойству зависимостей это значение динамически разрешается (через GetValue (зависимость) в обертке .Net). Подробнее см. Здесь http://wpftutorial.net/DependencyProperties.html
Ответ 2
См. Обзор свойств зависимостей, далее вы можете проверить декомпиляторы, например ILSpy, если вы хотите получить реальный код.
Ответ 3
Здесь немного подробностей здесь, в этом сообщении в блоге. Это все, что я могу найти.