使用xsd.exe我有一個枚舉,其中一個元素前面有一個@符號。我無法弄清楚爲什麼,而且我無法弄清楚它是爲了什麼或者它是什麼意思。在Google上搜索符號的效率並不高。C#@枚舉從XSD生成的類
原始XSD片段:
<xs:simpleType name="stopLocation">
<xs:restriction base="xs:string">
<xs:enumeration value="default"/>
<xs:enumeration value="near"/>
<xs:enumeration value="far"/>
<xs:enumeration value="nearExact"/>
<xs:enumeration value="farExact"/>
</xs:restriction>
</xs:simpleType>
生成的類片段:
public enum stopLocation {
@default,
near,
far,
nearExact,
farExact,
}
(是的,最後一個元素具有VS似乎樂意與逗號)
感謝。
可能是因爲default是一個C#關鍵字。 – mdm20
'default'是一個保留關鍵字; '@'預留一個保留關鍵字讓你可以使用它作爲合法的標識符(使用它是一種異味IMO(特別是令人討厭的'@ this'))。看似無關的'',按規範是合法的。它使代碼維護和代碼生成變得容易一些。 – jason
啊,我專注於@作爲枚舉的一部分而不是語言特性 - 現在有意義!我從來沒有必要使用它,因此直到現在還不知道它。我會看看是否可以改變繼承的XSD。感謝大家。 – GeoffM