XmlAttributeAttribute DataType属性?

时间:2018-08-08 20:13:21

标签: c# xml reflection

我还没有找到任何确切的文档,这个问题并没有太多。使用DataType = "string"时需要使用typeof(string)而不是XmlAttributeAttribute吗?例如:

XmlAttribute("Description", DataType = "string")
XmlAttribute("Description", typeof(string))

以上两行都进行编译;但是,当使用typeof(string)方法时,出现一个错误,提示无法指定原始类型(这可能与类的嵌套和重写的属性有关吗?)。

如果一起删除DataType,则由于某种原因反射会失败并且构建不会成功。

我做错什么了吗,或者这就是它的本意?如果要求使用DataType方法,那么如何指定自定义类型,例如enum

1 个答案:

答案 0 :(得分:1)

DataType用于xsd命名空间中的简单类型,例如string。对于复杂类型,请指定Type的{​​{1}}属性。因此,由于XmlAttributeAttributexsd:string命名空间中的简单类型,因此您可以使用

xsd

如前所述,如果您有一个自定义枚举,则可以这样做

[XmlAttribute("Name", DataType = "string")]