null 許容の TimeSpan プロパティを逆シリアル化しようとすると、Argumentnull 例外が発生します。
public class SimpleClass
{
private TimeSpan? m_WorkStartHr;
public TimeSpan? WorkStartHr
{
get { return m_WorkStartHr; }
set { m_WorkStartHr = value; }
}
}
public class Program
{
static void Main(string[] args)
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
TimeSpan? dt = new TimeSpan(288000000000);
SimpleClass instance = new SimpleClass();
instance.WorkStartHr = dt;
string jsonStr = serializer.Serialize(instance);
//This code throws the exception
SimpleClass newInstance = serializer.Deserialize<SimpleClass>(jsonStr);
}
}
注: WorkStartHr を null 非許容にすると、正常に動作します。