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 );
}
相关推荐
Jin、yz12 分钟前
JAVA 八股
java·开发语言
va学弟23 分钟前
Java 网络通信编程(6):视频通话
java·服务器·网络·音视频
我是唐青枫25 分钟前
C#.NET Span 深入解析:零拷贝内存切片与高性能实战
开发语言·c#·.net
pjw1988090330 分钟前
Spring Framework 中文官方文档
java·后端·spring
lxh011333 分钟前
数据流的中位数
开发语言·前端·javascript
盒马盒马41 分钟前
Rust:迭代器
开发语言·后端·rust
jgyzl1 小时前
2026.3.11MyBatis-Plus基本使用与思考
java·数据库·mybatis
Full Stack Developme2 小时前
Java 常用通信协议及对应的框架
java·开发语言
( •̀∀•́ )9202 小时前
Spring Boot 启动报错 `BindException: Permission denied`
java·spring boot·后端
杰克尼2 小时前
苍穹外卖--day10
java·数据库·spring boot·mybatis·notepad++