C# 获取入参函数名

前言

C# 如何通过形参获得实参的名字?
C# 10 新特性 ------ CallerArgumentExpression

我最近在研究Godot,想简化Godot的操作。所有有了这个需求

csharp 复制代码
public static void Test(string str){
	console.wirteLine(nameof(str));
}
public static void Main(string[] args) {
    string newStr = "hello";
    Test(newStr);

}

打印结果

复制代码
//输出
str
//我想要的输出
newStr

最后找了好久,终于找到了最新的C#10新特性,解决了此问题

C#10新特性

C# 10 新特性 ------ CallerArgumentExpression

这里不多讲了,结果就是可以拿到形参的名称。

csharp 复制代码
public static void Test(string str,[CallerArgumentExpression(nameof(node))] string nameExpression = null){
	//这样就能拿到形参了
	console.wirteLine(nameExpression );
}
相关推荐
栈溢出了2 分钟前
VS Code Python 自动导包失效排查笔记
开发语言·笔记·python
wangbing11254 分钟前
开发指南147-WebSocket-前后关联关系
java
朝朝辞暮i9 分钟前
C++ 第 28 课:Lambda 表达式
开发语言·c++·算法
Frank_refuel15 分钟前
深入理解RpcRouter(远端调用模块)
开发语言·qt
Wx-bishekaifayuan16 分钟前
springboot陨石鉴收系统96265-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·python·spring·课程设计
黑科技iOS上架25 分钟前
双引擎解决oc/swift开发引用加固难题
开发语言·ios·swift·审核·ios混淆·执行程序差异化
yujunl26 分钟前
U9客开中UI插件开发过程中碰到有一个坑
开发语言
iCxhust30 分钟前
C语言struct结构体实现类定义
c语言·开发语言·单片机·嵌入式硬件·51单片机
ESDWAN39 分钟前
跨境电商网络专线怎么选?从带宽、延迟到SD-WAN部署与带宽管理的完整落地指南
开发语言·网络·php
web打印社区44 分钟前
Lodop 提示未安装或请升级:Chrome 里先分清该装哪套
开发语言·前端·javascript·chrome·websocket·http