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 );
}
相关推荐
9523611 分钟前
SpringBoot统一功能处理
java·spring boot·后端
有一个好名字14 分钟前
工具即双手 —— 从 Bash 到 Tool Dispatch Map
开发语言·chrome·bash
Lyyaoo.15 分钟前
优惠券秒杀业务分析
java·开发语言
消失的旧时光-194315 分钟前
统一并发模型:线程、Reactor、协程本质是一件事(从线程到协程 · 第6篇·终章)
java·python·算法
勿忘初心122118 分钟前
Java 国密 SM4 加密工具类实战(Hutool + BouncyCastle)|企业级数据加密 + 兼容 JDK8
java·数据安全·数据加密·后端开发·企业级开发·国密 sm4
庞轩px22 分钟前
第8篇:原子类与CAS底层原理——无锁并发的实现
java·cas·乐观锁·aba·无锁编程·自旋
rleS IONS32 分钟前
SpringBoot中自定义Starter
java·spring boot·后端
DevilSeagull1 小时前
MySQL(2) 客户端工具和建库
开发语言·数据库·后端·mysql·服务
苍煜1 小时前
慢SQL优化实战教学
java·数据库·sql
MATLAB代码顾问1 小时前
改进遗传算法(IGA)求解作业车间调度问题(JSSP)——附MATLAB代码
开发语言·matlab