本文纯粹是个人感悟:
一个事物=数据+行为,为了定义这两个。.net 派生出了Class和Delegate。Class:用于封装数据,Delegate :用于封装行为。
于是就有了.net系统的 属性和索引、委托和事件;wpf系统中依赖属性和附加属性、行为和命令。
这就解释了:为什么委托和类是同一个级别,都可以在命名空间中定义。
事件用于封装内部, 属性(索引) 用于封装内部 的数据。本质上事件和属性(索引)是一样的。
为了防止数据引用和事件引用带来 的内存泄漏。wpf引入管理器的概念。
属性管理、弱事件管理器、命令管理器等。
标签:封装,C#,Delegate,管理器,事件,Class,属性 From: https://www.cnblogs.com/cdaniu/p/16742620.html