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 );
}
相关推荐
小满Autumn2 分钟前
固高GTS运动控制卡 — C#开发完全指南
c#·.net·上位机·运动控制卡
爱吃生蚝的于勒2 分钟前
QT开发第三章——常用控件
linux·服务器·开发语言·前端·javascript·c++·qt
未若君雅裁6 分钟前
工厂模式详解:简单工厂、工厂方法与抽象工厂
java·开发语言
不会写DN10 分钟前
通过php 中的Route:: 的写法了解什么是静态类调用
android·java·php
小刘|11 分钟前
SpringAIAlibaba快速接入阿里云百炼
java·spring boot·spring·maven
我命由我1234515 分钟前
由 ImageView 获取到的 Drawable 对象,它的 intrinsicWidth、intrinsicWidth 与实际图片的尺寸
java·开发语言·java-ee·android studio·android jetpack·android-studio·android runtime
xuankuxiaoyao16 分钟前
Axios-图书列表案例
开发语言·前端·javascript
Han.miracle16 分钟前
Jackson 工具类详解:ObjectMapper 配置、泛型擦除、TypeReference 与 JavaType
java·spring boot·spring
guslegend17 分钟前
Java 创建对象有几种方式
java·开发语言
影寂ldy18 分钟前
C# 多播委托
前端·javascript·c#