取得する DataContract クラスは常に部分クラスであるため、単純に 2 つ目の部分クラスを追加して、"PropertyAsInt" プロパティを提供することができます。
このようなもの:
public partial class Product
{
public int ProductNumberAsInt
{
get
{
if(!string.IsNullOrEmpty(ProductNumber))
{
int result = -1;
if(int.TryParse(ProductNumber, out result)
return result;
else
return -1;
}
return 0;
}
}
}
したがって、単純にプロパティを定義するだけProductNumberAsInt
で、 と呼ばれる基になる文字列プロパティを検査できますProductNumber
。null
またはの場合string.Empty
は、デフォルト値 (-1 または 0 など) を返すだけです。
null/空でない場合は、Int への変換を試みることができます。成功した場合はその int を返します。それ以外の場合は、別のインジケーターを返します (ここでも、あなたにとって意味のあるものを選択してください、-1、0 を選択してください)。
そうすれば、WCF のデータ コントラクトをいじったり、面倒な手動ハッキングを行ったりする必要がなくなり、必要に応じて追加のプロパティを微調整することができます。
マルク