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 );
}
相关推荐
java1234_小锋3 分钟前
说一下Spring的事务传播行为?
java·数据库·spring
庞轩px5 分钟前
第四篇:SpringBoot自动配置——约定大于配置的底层原理
java·spring boot·后端·spring·自动配置·注解开发
不知名的忻7 分钟前
Dijkstra算法(朴素版&堆优化版)
java·数据结构·算法··dijkstra算法
苏三说技术7 分钟前
美团二面:高并发下如何保证接口幂等性?
java·数据库
兩尛15 分钟前
c++知识点5
开发语言·c++
澈20718 分钟前
C++内存管理:new/delete与内存泄漏实战
开发语言·c++·内存分区
其实防守也摸鱼24 分钟前
VS code怎么使用 Conda 安装预编译包
开发语言·网络·c++·vscode·安全·web安全·conda
默子昂26 分钟前
langchain 基本使用
开发语言·python·langchain
yaoxin52112328 分钟前
402. Java 文件操作基础 - 读取二进制文件
java·开发语言·python
沐浴露z30 分钟前
面试官:静态变量与非静态成员变量的区别?别再死记硬背了!
java·jvm