我可以有什么样的属性名

本文关键字:属性 什么样 我可以 | 更新日期: 2023-09-27 18:17:36

我们可以有像$ref #schema这样的属性名称吗?如果有,怎么做?如果不是,为什么不呢?我要做这样的事情

dynamic d = new ExpandoObject();
d.$ref = somevlaue;

但是我不能那样做?

还有,我如何解决关键字不能是属性名的问题?

我可以有什么样的属性名

使用

public string @class {get; set;}

使用关键字作为变量名。要了解更多信息,请参阅标识符的规则。

由于您主要对ExpandoObject感兴趣,因此解决方法是通过将ExpandoObject强制转换为IDictionary<string, Object>来直接设置和/或检索这些属性名称:

dynamic d = new ExpandoObject();
var dict = (IDictionary<string, Object>)d;
dict["$ref"] = "haha!";

该语言有名称可接受字符的指导原则。在您的情况下,您可以尝试使用@ref