我们可以拥有属性名称$ref #schema吗?如果是这样,怎么样?如果不是为什么不呢?我其实是这样做的
dynamic d = new ExpandoObject();
d.$ref = somevlaue;
Run Code Online (Sandbox Code Playgroud)
但我不能这样做?
另外,我如何解决关键字不能是属性名称的事实?
使用
public string @class {get; set;}
Run Code Online (Sandbox Code Playgroud)
使用关键字作为变量名称.有关更多信息,您可以查看标识符的规则.
由于您主要对此感兴趣,因此ExpandoObject解决方法是通过将ExpandoObject强制转换为以下内容来直接设置和/或检索这些属性名称IDictionary<string, Object>:
dynamic d = new ExpandoObject();
var dict = (IDictionary<string, Object>)d;
dict["$ref"] = "haha!";
Run Code Online (Sandbox Code Playgroud)