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

5.2.1 CallerMemberName的使用

‌        CallerMemberName‌是C#中的一个特性,用于自动获取调用方法或属性的名称。它是C# 5.0引入的一个功能。

        CallerMemberName特性可以应用于方法的参数,使其在调用时自动填充调用者的名称,而无需显式传递信息。     

   一、举例如下:

        调用work函数时,即使work()不填任何参数,它也会自动把调用者的名字填充到参数中。

可以看到:

     1). 构造函数调用时,自动使用 '.ctor'.

     2). 普通函数调用时,自动使用‘普通函数的名称’

     3). 属性的set调用时,自动使用‘属性的名称’

    public void Work([CallerMemberName] string memberName = "")
    {
        Console.WriteLine("CallerMemberName: " + memberName);
    }

    public MainWindow()
    {
            InitializeComponent();
            Work();     //输出:CallerMemberName: .ctor
            Playing();  //输出:CallerMemberName: Playing
            this.UserName

http://www.dtcms.com/a/146621.html

相关文章:

  • 02-HTML结构
  • 在线查看【免费】vsd, vsdx/wmf, emf /psd, eps/pdf ,ofd, rtf/xmind/bpmn/eml/epub文件格式网
  • 驱动开发硬核特训 · Day 16:字符设备驱动模型与实战注册流程
  • 基于STC89C52RC和8X8点阵屏、独立按键的匹配消除类小游戏
  • unity3d实现物体闪烁
  • Discuz论坛网站忘记管理员密码进不去管理中心怎么办?怎么改管理员密码?
  • 45.[前端开发-JavaScript高级]Day10-迭代器-生成器
  • Git创建空分支并推送到远程仓库
  • 市场分析 3 mysql (槽)
  • YOLO11改进,尺度动态损失函数Scale-based Dynamic Loss,减少标签不准确对损失函数稳定性的影响
  • 【网络安全】OWASP 十大漏洞
  • 蓝桥杯2024省A.成绩统计
  • 组件是怎样写的(1):虚拟列表-VirtualList
  • Activity之间交互
  • spark与hadoop的区别
  • Flutter 状态管理 Riverpod
  • 【Linux】多线程任务模块
  • 【Linux篇】轻松搭建命名管道通信:客户端与服务器的互动无缝连接
  • 卷积神经网络--手写数字识别
  • day33和day34图像处理OpenCV
  • 教育行业网络安全:守护学校终端安全,筑牢教育行业网络安全防线!
  • FastGPT Docker Compose本地部署与硅基流动免费AI接口集成指南
  • 【计算机网络】第五章 局域网技术
  • GPT,Genini, Claude Llama, DeepSeek,Qwen,Grok,选对LLM大模型真的可以事半功倍!
  • 形象理解华为云物联网iotDA开发流程
  • 批量导出多个文件和文件夹名称与路径信息到Excel表格的详细方法
  • AgentGPT开源程序可以在浏览器中组装、配置和部署自主人工智能代理
  • 高并发场景下的淘宝 API 开发实践:商品数据实时采集与性能优化
  • 修改IP地址能否精确到地级市的县?——全面解析
  • 基于ueditor编辑器的功能开发之重写ueditor的查找和替换功能,支持滚动定位