当前位置: 首页 > 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

相关文章:

  • 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
  • 首届中国—海湾阿拉伯国家合作委员会和平利用核技术论坛在成都召开
  • 《“四有”好老师系列丛书》发布,由顾明远总主编
  • 一周观展|上海,一系列特展大展渐次呈现
  • 张九思任电子科大副教授,曾以学生身份入选爱思唯尔全球前2%顶尖科学家
  • 夜读丨“看看世界”本身就是一种意义
  • 广西贵港干旱村民抽水救甘蔗,镇政府:已组织打井、布管