zoukankan      html  css  js  c++  java
  • 避免实现INotifyPropertyChanged时的硬编码

    在.NET中是非常不提倡硬编码写东西的。原因是容易写错,还不容易修改。
    在WPF中免不了用Binding,用Binding又免不了要实现INotifyPropertyChanged接口。
    在园子里有个朋友已经对此做了些改良文章的标题《[WPF/Silverlight]让INotifyPropertyChanged的实现更优雅一些》,一下实现的其中的一种就是这里面提到的方法,使用表达式树来提取属性名。
    当我们没有办法避免输入硬编码的内容时我们通常考虑的是去检查输入的正确性来避免一些低级的失误。
    又因为INotifyPropertyChanged的使用比较特殊,通常是在属性的Set下执行,所以我们考虑在运行时去提取栈信息来找到属性信息。

    具体实现如下,会.NET的同学一定能看的懂的哦,我就不当唐僧了。

    Code

    使用时一定要注意一个问题,如果直接调用第三种方法,请确保是在自己的属性的Set下执行的。如果你在别的方法内执行,除了语义不对外,代码运行也一定不对!慎用!!!

  • 相关阅读:
    【转】shell脚本常用命令
    【转】应该知道的Linux技巧
    背景颜色变成豆沙绿色~
    缓冲区溢出攻击
    恶意代码简介
    atitit.  web组件化原理与设计
    Atitit.vod 视频播放系统 影吧系统的架构图 架构体系 解决方案
    Atitit.跨语言异常转换机制 java c# php到js的异常转换
    atitit.React   优缺点 相比angular react是最靠谱的web ui组件化方案了
    Atiti。流量提升软件设计大纲规划 v1 q45
  • 原文地址:https://www.cnblogs.com/cuiweifu/p/INotifyPropertyChanged.html
Copyright © 2011-2022 走看看