惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
Jina AI
Jina AI
J
Java Code Geeks
Microsoft Security Blog
Microsoft Security Blog
Recent Announcements
Recent Announcements
I
InfoQ
L
LangChain Blog
The Cloudflare Blog
IT之家
IT之家
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
B
Blog
A
About on SuperTechFans
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Last Week in AI
Last Week in AI
Blog — PlanetScale
Blog — PlanetScale
罗磊的独立博客
云风的 BLOG
云风的 BLOG
Microsoft Azure Blog
Microsoft Azure Blog
Engineering at Meta
Engineering at Meta
F
Fortinet All Blogs
博客园 - 聂微东
美团技术团队
博客园_首页

博客园 - DotNet1010

.NET 6 的 docker 镜像可以有多小 Code UTF-8 Console GB2312 Linux 中文乱码 穿透式监管与CTP swagger 兼容 docker 转发 配置 rust 条件编译 Debug Release rust-must-know-crates-5ad8 100DayOfRust python C# DES 加密转换 The Little Book of Rust Books .NET 5 WPF 配置文件变动 程序自动刷新 (reloadOnChange) C# 高精度定时器 NET number values such as positive and negative infinity cannot be written as valid JSON C# 各种序列化方案比较 Python3 HDF5 中英文混合存储 websocket-per-message-compression Asp.net Core WebSocket 支持压缩 Redis 监控工具 期货行情查看客户端下载 完美解决windows10磁盘占用100%并出现卡顿、假死无反应 How to disable the unused macros warning? --rust 看阿里架构师是如何在高并发的情景下运筹帷幄
MVVM WPF 简化 类的开发
DotNet1010 · 2020-05-14 · via 博客园 - DotNet1010

https://www.cnblogs.com/li-peng/p/3169864.html

https://www.cnblogs.com/ColdJokeLife/archive/2013/05/30/3108112.html

//C#5.0 版本
public abstract class ObservableObject : INotifyPropertyChanged
 {
        public event PropertyChangedEventHandler PropertyChanged;
protected void SetProperty<T>(ref T field, T value, [CallerMemberName] string propertyName = null)
        {
            if (EqualityComparer<T>.Default.Equals(field, value))
            {
                return;
            }

            field = value;
            var handler = this.PropertyChanged;
            if (handler != null)
            {
                handler(this, new PropertyChangedEventArgs(propertyName));
            }
        }
}

public class Person : NotifyPropertyChangedEx
{
    private string name;

    public string Name
    {
       get { return name; }
       set { this.SetProperty(ref name, value); }
    }