当前位置: 首页 > article >正文

C# CallerMemberName特性

当你在一个方法运用了CallerMemberName特性,编译器会自动将调用该方法的方法或属性的名称作为该参数的默认值,可应用于MVVM框架。

代码:

using System.ComponentModel;
using System.Runtime.CompilerServices;public class Person : INotifyPropertyChanged
{private string name;public event PropertyChangedEventHandler PropertyChanged;// 使用 [CallerMemberName] 来避免硬编码属性名protected void OnPropertyChanged([CallerMemberName] string propertyName = null){PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));}public string Name{get => name;set{if (name != value){name = value;OnPropertyChanged(); // 不需要传递参数,[CallerMemberName] 自动提供}}}
}

http://www.lryc.cn/news/2401108.html

相关文章:

  • 采用 Docker GPU 部署的 Ubuntu 或者 windows 桌面环境
  • 关于面试找工作的总结(四)
  • 分布式拜占庭容错算法——实现工作量证明(PoW)算法详解
  • 深度解析Mysql中MVCC的工作机制
  • MP4文件声音与视频分离
  • 接口自动化测试之pytest 运行方式及前置后置封装
  • 服务器被攻击了怎么办
  • 06-排序
  • python,shell,linux,bash概念的不同和对比联系
  • FPGA管脚类型,及选择
  • 如何在 Ubuntu22.04 上安装并开始使用 RabbitMQ
  • R-CNN 模型算法流程梳理
  • 细说C语言将格式化输出到FILE *stream流的函数fprintf、_fprintf_I、fwprintf、_fwprintf_I
  • 本地日记本,用于记录日常。
  • [蓝桥杯]格子刷油漆
  • Monorepo架构: 项目管理工具介绍、需求分析与技术选型
  • ubuntu下libguestfs-tools
  • Authentication failed(切换了新的远程仓库tld)
  • 【Web应用】若依框架:基础篇14 源码阅读-后端代码分析-课程管理模块前后端代码分析
  • 在 Linux 上安装 `pgvector`(这是一个 PostgreSQL 的向量类型扩展,常用于处理嵌入向量,便于进行向量相似度搜索)
  • 09.MySQL内外连接
  • Python爬虫实战:研究Scrapy-Splash库相关技术
  • 智能升级:中国新能源汽车充电桩规模化建设与充电桩智慧管理方案
  • AlphaFold3服务器安装与使用(非docker)(1)
  • 接口自动化测试之pytest接口关联框架封装
  • M1安装并使用Matlab2024a进行java相机标定
  • 02-Redis常见命令
  • 【论文阅读笔记】Text-to-SQL Empowered by Large Language Models: A Benchmark Evaluation
  • 使用ArcPy进行栅格数据分析
  • 华为OD机试真题——告警抑制(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现