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 );
}
相关推荐
for_ever_love__8 分钟前
python基础语法学习: requirements.txt
开发语言·python·学习
XiaoYu1__18 分钟前
JavaGUI文件管理系统开发实战:从静态展示到动态交互的演进
java·开发语言
for_ever_love__20 分钟前
python基础语法学习: 动态类型
开发语言·python·学习
霸道流氓气质28 分钟前
MCP(Model Context Protocol)核心概念与Java SDK集成
java·开发语言
企查查数据服务28 分钟前
全军禁入下客商准入风控,关联图谱与穿透核查
大数据·开发语言·数据库·php
PC2005-cloud1 小时前
DSH 白嫖指南:接入 Command Code Go、WorkBuddy 与 Trae 的免费额度
开发语言·后端·golang
敲代码的嘎仔1 小时前
从集群锁失效到异步领券:我用分布式锁 + Redisson + MQ 把领券接口 RT 从 200ms 压到 15ms
java·数据库·redis·分布式·缓存·ai·wpf
步行cgn1 小时前
Spring 的模块体系详解
java·数据库·spring
千里码aicood1 小时前
基于Python语言的测量程序设计
开发语言·python
xcl09251 小时前
智慧健身场馆系统开发实战:从架构设计到核心模块落地指南
java·spring boot