我还没有找到任何确切的文档,这个问题并没有太多。使用DataType = "string"
时需要使用typeof(string)
而不是XmlAttributeAttribute
吗?例如:
XmlAttribute("Description", DataType = "string")
XmlAttribute("Description", typeof(string))
以上两行都进行编译;但是,当使用typeof(string)
方法时,出现一个错误,提示无法指定原始类型(这可能与类的嵌套和重写的属性有关吗?)。
如果一起删除DataType
,则由于某种原因反射会失败并且构建不会成功。
我做错什么了吗,或者这就是它的本意?如果要求使用DataType
方法,那么如何指定自定义类型,例如enum
?
答案 0 :(得分:1)
DataType
用于xsd
命名空间中的简单类型,例如string
。对于复杂类型,请指定Type
的{{1}}属性。因此,由于XmlAttributeAttribute
是xsd:string
命名空间中的简单类型,因此您可以使用
xsd
如前所述,如果您有一个自定义枚举,则可以这样做
[XmlAttribute("Name", DataType = "string")]