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 );
}
相关推荐
宇木灵4 小时前
C语言基础学习-二、运算符
c语言·开发语言·学习
无心水4 小时前
【任务调度:数据库锁 + 线程池实战】3、 从 SELECT 到 UPDATE:深入理解 SKIP LOCKED 的锁机制与隔离级别
java·分布式·科技·spring·架构
yangSimaticTech4 小时前
沿触发的4个问题
开发语言·制造
编程小白gogogo5 小时前
苍穹外卖图片不显示解决教程
java·spring boot
舟舟亢亢5 小时前
算法总结——二叉树【hot100】(上)
java·开发语言·算法
百锦再5 小时前
Java中的char、String、StringBuilder与StringBuffer 深度详解
java·开发语言·python·struts·kafka·tomcat·maven
普通网友6 小时前
多协议网络库设计
开发语言·c++·算法
努力努力再努力wz6 小时前
【Linux网络系列】:TCP 的秩序与策略:揭秘传输层如何从不可靠的网络中构建绝对可靠的通信信道
java·linux·开发语言·数据结构·c++·python·算法
daxi1506 小时前
C语言从入门到进阶——第9讲:函数递归
c语言·开发语言·c++·算法·蓝桥杯
勇气要爆发7 小时前
LangGraph 实战:10分钟打造带“人工审批”的智能体流水线 (Python + LangChain)
开发语言·python·langchain