属性、事件分析
属性:普通属性,CLR属性,依赖属性;
普通属性:即.net2.0时代的常规属性
CLR属性:它是用于向外界暴漏 依赖属性 的外包装
依赖属性:字段属性
普通属性与CLR属性在“上层”使用上几乎没有区别,只是在属性的定义细节上存在区别,CLR属性是针对依赖属性的外包装,其访问器 封装了 GetValue和SetValue方法;而普通属性仅仅封装了“对应的私有字段”
事件:直接事件,CLR事件,路由事件
直接事件:即.net2.0时代的常规事件
CLR事件:它是用于向外界暴漏 路由事件 的外包装
路由事件:字段事件
直接事件与CLR事件在“上层”使用上几乎没有区别,只是在事件的定义细节上存在区别,CLR事件是针对路由事件的外包装,其 “声明” 的代码体 封装了 AddHandler和RemoveHandler方法;而直接事件仅仅是使用 “Event和委托” "声明" 一个事件而已。
路由事件的激发/触发:路由事件 “激发时” 携带的消息 放在 路由事件参数(RoutedEventArgs)里,并将该参数实例与“路由事件”相关联,然后调用元素的RaiseEvent方法(继承自UIElement)并传入“路由事件参数实例” 把事件发送出去;可见,这个过程与CLR事件(或直接事件)完全不同。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器