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 );
}
相关推荐
稻草猫.3 分钟前
SpringBoot日志全解析:从调试到持久化
java·开发语言·spring boot·java-ee·idea
zopple3 分钟前
Knife4j文档请求异常(基于SpringBoot3,查找原因并解决)
java·服务器·数据库
小鸡吃米…9 分钟前
Python线程同步
开发语言·数据结构·python
清水白石00811 分钟前
Python 弱引用深度解析——让缓存不再成为内存泄漏的温床
java·python·缓存
zzb158012 分钟前
RAG from Scratch-优化-routing
java·前端·网络·人工智能·后端·python·mybatis
白帽子黑客-宝哥14 分钟前
渗透测试“保姆级”实战成长手册
开发语言·网络安全·渗透测试·php
脑子不好真君37 分钟前
手势操控的粒子土星 (Three.js + MediaPipe)
开发语言·javascript·ecmascript
深蓝轨迹38 分钟前
IDEA 中 Spring Boot 配置文件的自动提示消失(无法扫描配置文件)的完整解决方案
java·spring boot·intellij-idea
杀神lwz40 分钟前
Java Json压缩工具类
java·json
虾..42 分钟前
Linux 基于TCP实现服务端客户端通信(线程池)
java·网络协议·tcp/ip