的名称;运算符、表达式不能用于命名的参数中
本文关键字:用于 参数 不能 运算符 表达式 | 更新日期: 2023-09-27 18:02:51
我得到了一个简单的类:
public class Stu
{
public string Name { get; set; }
}
如果我这样做:
var stu = new Stu();
Console.WriteLine(nameof(stu.Name));
效果很好。但这:
Console.WriteLine(nameof(new Stu().Name));
或:
Console.WriteLine(nameof((new Stu()).Name));
不工作。编译器告诉我:"表达式不能用于"的参数
我不知道为什么。小费是什么意思?操作符"nameof()"的正确参数类型是什么?
我已经在网上搜索过了。这个页面告诉我表达式可以是属性组或方法组,但是表达式是new Stu(). name &;不是"属性组"?您可能需要
nameof(Stu.Name)
nameof()
获得一些特殊的语法,因此您不必实例化类来获取其属性之一的名称,以及其他类似的场景。