4
値が整数で完全に表現できますが、検証ロジックを持ち、Web APIで返されて受け入れられる型があるとします。非常に単純なクラスのDataContractシリアル化を微調整して単純化しますか?
"FiscalPeriod" : {"Id": 201601},
:このタイプは、Web APIの呼び出しによって返されたときに、それは次のようにJSONにシリアライズます
public class FiscalPeriod
{
public FiscalPeriod(int id)
{
if (!Validator.IsValidPeriod(id))
throw new ArgumentException($"Invalid fiscal period ID '{id}'", nameof(id));
Id = id;
}
public int Id { get; private set; }
public override string ToString() => Id.ToString();
public static implicit operator int(FiscalPeriod period) => period.Id;
}
:良いコードを維持し、原始的強迫観念を避けるには、私のような何かをするかもしれません強制的に次のようにシリアル化する方法がありますか?
"FiscalPeriod" : 201601,
それがより簡単に、クライアント側の平野数として扱うことができるようにするため?
あなたは '' Validator.IsNotValidPeriod(ID)を意味しますか? –
修正されました。ありがとうございました。 –
http://blog.maskalik.com/asp-net/json-net-implement-custom-serialization/ – dotctor