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 小时前
Rust 学习(4)-函数与注释
开发语言·学习·rust
我才是银古4 小时前
从零构建 Windows 桌面 RPA 框架:Go 与 .NET 的跨语言协奏
c#·go·rpa
名字还没想好☜4 小时前
用 Redis + Redisson 实现分布式锁:从踩坑到生产可用
java·redis·分布式·junit·分布式锁·redisson
tiana_4 小时前
写了个零依赖的 Go 版本管理器,curl | bash 完事
开发语言·golang·bash
谙忆4 小时前
图片CDN与边缘优化实战:缓存策略、图片处理型CDN与动态裁剪
java·spring·缓存
嘘嘘出差4 小时前
Python 爬虫入门实战:爬取豆瓣电影 Top 250
开发语言·爬虫·python
爱写代码的倒霉蛋4 小时前
实现协程的三种方式
开发语言·python
ltqvibe4 小时前
怎么让本体语义变成可执行的智能体
java·人工智能·本体语义
javajenius4 小时前
Masslynx 4.1安装包免费下载及详细安装教程
java·服务器·前端·其他
CS创新实验室5 小时前
NumPy数组的C风格和Fortran风格
c语言·开发语言·numpy