我可以拥有什么样的财产名称?

ash*_*ina 0 c# properties

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

dynamic d = new ExpandoObject();
d.$ref = somevlaue;
Run Code Online (Sandbox Code Playgroud)

但我不能这样做?

另外,我如何解决关键字不能是属性名称的事实?

Yur*_*ich 5

使用

public string @class {get; set;}
Run Code Online (Sandbox Code Playgroud)

使用关键字作为变量名称.有关更多信息,您可以查看标识符的规则.


Bro*_*ass 5

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

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