だから私は次の方法があります:
private int? myIntField
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public int? IntField{
get {
return this.myIntField;
}
set {
this.myIntField= value;
}
}
現在、投稿からxmlを逆シリアル化しています。何らかの理由で、55444ではなく「ここにintフィールド:55444」などの文字列が表示された場合、応答として返されるエラーは次のとおりです。Input string was not in a correct format.
これはあまり具体的ではありません。特に、検証する必要のあるintフィールドが複数あることを考えると。
もともと、私は次のような計画を立てていました。
private string myIntField
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public int? IntField{
get {
return this.myIntField.CheckValue();
}
set {
this.myIntField= value;
}
}
CheckValueがtry-parse
Int32に対してを実行し、失敗した場合はnullを返し、リストにエラーを追加します。ただし、生成されたクラスに対してこの設定を釘付けにすることはできないようです。
ints、DateTimesなどの代わりに文字列を取得している場合に特定のエラーをスローする方法はありますか?