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 );
}
相关推荐
bing_158几秒前
spring Boot 3.0 和2.0的区别
java·spring boot·后端
Thomas.Sir1 分钟前
Shiro认证与授权:Java安全框架的核心机制
java·安全·shiro·权限控制
千百元2 分钟前
网络图标显示不正常
开发语言·网络·php
Amumu121386 分钟前
Js: ES新特性(一)
开发语言·前端·javascript
cm65432010 分钟前
C++中的原型模式变体
开发语言·c++·算法
除了辣条不吃辣12 分钟前
ABAP 正则表达式
开发语言·正则表达式·abap·alv
wuqingshun31415913 分钟前
谈一下Daemon线程
java·开发语言
☆56613 分钟前
C++中的策略模式进阶
开发语言·c++·算法
Yupureki21 分钟前
《Linux系统编程》14.库的制作与原理
linux·运维·服务器·c语言·开发语言·c++
人间打气筒(Ada)21 分钟前
go实战案例:如何基于 Conul 给微服务添加服务注册与发现?
开发语言·微服务·zookeeper·golang·kubernetes·etcd·consul