#116 – Dependency Property Values Are Stored in the DependencyObject(依赖属性存储在DependencyObject中)

来源:互联网 发布:网络代购英文怎么说 编辑:程序博客网 时间:2024/05/24 00:43

原文地址:https://wpf.2000things.com/2010/11/05/116-dependency-property-values-are-stored-in-the-dependencyobject/

标准的CLR属性值是存储在定义该属性的实例中的,即使这个属性自创建以后从来没有被复制或者更改,它依然会占用内存空间。

而依赖属性的值只有被设置为非默认值的时候才会被存储(值不占用内存空间),而当访问没有设置值的依赖属性将会只返回一个默认的值。

被设置的依赖属性的值会被存在DependencyObject 类的一个数组中,这个数组,通过GetValueSetValue 方法读写实现,是DependencyObject 派生类的一部分,这个内部的数组中包含着所有被设置了值的依赖属性的有效值。


*******************

通过上面的描述,个人总结就是,如果依赖属性没有设置值的话,继承自DependencyObject 的数组中没有它的值,因此它的值不占用内存空间。



0 0
原创粉丝点击