是否有办法访问错误元素的名称(或元素的DataAnnotation中定义的DataMember名称)。在通过DataContractSerializer反序列化对象期间,它不能保持正确的值吗?
例如,如果通过deserializaer运行,以下DataContract和xml将生成下面找到的错误。 “输入字符串的格式不正确”,因为“IsRequired”元素没有可用的值。
如何从将要引发的异常中访问属性名称“Amount”或数据管理名称“Amount”(任何一个我没有讨论),以便我可以在元素“Amount”上报告错误“所以我创建的错误信息不是那么”宽泛“
DataContract
<DataContract(NameSpace:="http://tempuri.org/blahblah")>
Public Class [Account]
...
<DataMember(IsRequired:=True, Order:=11, Name:="Amount")> Public [Amount] As Decimal
End Class
要传递的XML
<Account>
...
<Amount></Amount>
</Account>
序列化期间报告完整错误
There was an error deserializing the object of type MyProjectName.Account. Input string was not in a correct format.
答案 0 :(得分:0)
检查抛出的异常<h:inputSecret />
(有关示例,请参阅Error deserializing the object),或者可能是Data
property例外。