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 );
}
相关推荐
鸽子一号几秒前
c#笔记之lambda表达式和linq
笔记·c#·linq
2301_789015622 分钟前
C++11新增特性:可变参数模板、lambda表达式、function包装器、bind绑定、defult和delete
c语言·开发语言·c++·算法·c++11·万能引用
bitt TRES2 分钟前
Spring Boot整合Redisson的两种方式
java·spring boot·后端
南风知我意9574 分钟前
JavaScript 惰性函数深度解析:从原理到实践的极致性能优化
开发语言·javascript·性能优化
默|笙5 分钟前
【Linux】进程概念与控制(2)_进程控制
java·linux·策略模式
csdn2015_5 分钟前
springboot controller 参数非必填
java·spring boot·后端
xyq20245 分钟前
Perl 目录操作
开发语言
独断万古他化7 分钟前
抽奖系统性能负载测试:基于 JMeter 的梯度加压与本地缓存优化全流程
java·redis·jmeter·缓存·压力测试·测试·负载测试
云烟成雨TD10 分钟前
Spring AI 1.x 系列【22】深度拆解 ToolCallbackProvider 生命周期与调用链路
java·人工智能·spring
RNEA ESIO12 分钟前
Spring Boot应用关闭分析
java·spring boot·后端