首页 文章

DataContractSerializer - 输入字符串格式错误

提问于
浏览
0

有没有办法访问错误元素的名称(或元素的DataAnnotation中定义的DataMember名称) . 在通过DataContractSerializer反序列化对象期间,它不能保持正确的值?

例如,如果通过deserializaer运行,以下DataContract和xml将生成下面找到的错误 . “输入字符串格式不正确" because no value was available for a " 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 to be passed

<Account>
    ...
    <Amount></Amount>
</Account>

Full error reported during serialization

There was an error deserializing the object of type MyProjectName.Account. Input string was not in a correct format.

1 回答

相关问题