我們能否擁有像$ref #schema
這樣的房產名稱?如果是這樣,怎麼樣?如果不是爲什麼不呢? 我其實做這樣的事情我可以擁有什麼樣的房產名稱?
dynamic d = new ExpandoObject();
d.$ref = somevlaue;
,但我不能這樣做呢?
另外,我該如何解決關鍵字不能是屬性名的事實?
我們能否擁有像$ref #schema
這樣的房產名稱?如果是這樣,怎麼樣?如果不是爲什麼不呢? 我其實做這樣的事情我可以擁有什麼樣的房產名稱?
dynamic d = new ExpandoObject();
d.$ref = somevlaue;
,但我不能這樣做呢?
另外,我該如何解決關鍵字不能是屬性名的事實?
該語言具有可接受的名稱字符的指導原則。在你的情況下,你可以嘗試使用@ref
。
既然你的主要興趣在ExpandoObject
,一個解決方法是直接設置和/或通過鑄造ExpandoObject來檢索這些屬性名稱的IDictionary<string, Object>
:
dynamic d = new ExpandoObject();
var dict = (IDictionary<string, Object>)d;
dict["$ref"] = "haha!";
這是我通常做的,還有其他方法嗎? –
否 - C#編譯器將不允許您使用語言規範(第2.4.2節)詳述的無效屬性名稱成功編譯,即包含'$' – BrokenGlass
什麼是有'$'點和無論如何,你的房產名稱中都有'#'? – BoltClock