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 分钟前
1 . Git本地操作:版本控制 跨平台协作 仓库核心
java·开发语言·数据结构·c++·git·gitee·github
hekung9 分钟前
maven的lifecycle与idea的run
java·maven
阿维的博客日记15 分钟前
为什么 ConcurrentHashMap 采用 synchronized 加锁而不采用ReentrantLock
java·juc
阿丰资源24 分钟前
java项目(附资料)-基于SpringBoot+MyBatisPlus+MySQL+Layui的药品管理系统
java·spring boot·mysql
云恒要逆袭25 分钟前
Java SE、EE、ME到底啥区别?我被这个问题困扰了一整年
java·java ee
xianluohuanxiang28 分钟前
高精度气象:极端天气一来,零售最先出问题的不是客流,而是补货体系和损失控制
开发语言·人工智能·深度学习·机器学习·零售
KKKlucifer29 分钟前
零信任融合 4A 平台,构建全域身份动态可信管控体系
开发语言·php
鱼鳞_31 分钟前
Java学习笔记_Day27(Stream流)
java·笔记·学习
身如柳絮随风扬32 分钟前
Servlet:访问流程、核心接口与生命周期
java·servlet·web
indexsunny32 分钟前
互联网大厂Java面试实战:从Spring Boot到微服务架构的深度探讨
java·数据库·spring boot·安全·微服务·监控·面试实战