gpt4 book ai didi

c# - "nameof "运算符 ,"expression cannot be used in an argument to nameof"

转载 作者:太空狗 更新时间:2023-10-29 18:17:45 27 4
gpt4 key购买 nike

我有一个简单的类:

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 的参数中”。

我不知道为什么。小费是什么意思?运算符“nameof()”的正确参数类型是什么?

我在网上搜索过。 this页面告诉我“表达式可能是属性组或方法组”,但是表达式“new Stu().Name”不是“属性组”吗?

最佳答案

你可能想要

nameof(Stu.Name)

nameof() 获得一些特殊的语法,因此您不必实例化一个类来获得其属性之一的名称,以及其他类似的场景。

关于c# - "nameof "运算符 ,"expression cannot be used in an argument to nameof",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31444482/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com