属性旨在扩展依赖对象,但是属性值如何存储在内存中,一行代码SetDPProperty(DependencyObject d(与附加到的目标对象相关?如果它静态存储在某个地方,AP如何检查目标对象是否正在使用,并删除引用以便让GC收集(如果不是(?
已设置的依赖项属性(包括附加依赖项属性(的值存储在内部DependencyObject
基类中,并且将在收集对象本身时照常收集。在垃圾回收方面,这些值没有什么特别之处。
如果您想知道如何存储值的详细信息,可以在此处查看DependencyObject
类及其SetValue
方法的实现方式:https://referencesource.microsoft.com/#WindowsBase/Base/System/Windows/DependencyObject.cs,76dfd12a4655a37a
在垃圾回收方面,这些值没有什么特别之处。