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 分钟前
ESXi CPU 使用率高怎么排查?esxtop 一键定位占用高的虚拟机与进程
java·linux·运维·服务器·网络·虚拟化
Fanfanaas2 分钟前
Linux 进程篇 (四)
linux·运维·服务器·开发语言·c++·学习
Sylvia-girl3 分钟前
C++中类与对象
开发语言·c++
良木生香6 分钟前
【C++初阶】:泛型编程的代表作---C++初阶模板
c语言·开发语言·数据结构·c++·算法
神の愛6 分钟前
@RequestParam,@RequestBody,@ResponseBody??
java
Jaygee-8 分钟前
WordPress 企业官网搭建教程:用 GMSSH 免费配好 HTTPS、WAF 和网站报表
java·数据库·https
网域小星球13 分钟前
C++ 从 0 入门(一)|C++ 基础语法、命名空间、引用、IO 输入输出
开发语言·c++·引用·命名空间·cin/cout
咩图15 分钟前
C#进程通讯-命名管道通讯
c#·命名管道·进程通讯
疯狂成瘾者27 分钟前
SLF4J的学习路线
java·学习·slf4j
雾岛听蓝28 分钟前
Qt按钮与标签控件详解
开发语言·经验分享·笔记·qt