我有以下代码:如何设置类的XmlElement C#默认的DateTimeOffset值
public sealed class MyClass
{
[XmlElement("Remind")]
public string lastUpdatedTimeForXml2
{
get { return Remind.ToString("yyyy-MM-ddTHH:mm:ss"); }
set { Remind = DateTimeOffset.Parse(value); }
}
[XmlIgnore]
public DateTimeOffset Remind { get; set; }
}
而我的问题是,当不存在提醒值在文件中它是由0001-01-01T00替换它:00:00并在线崩溃:“set {Remind = DateTimeOffset.Parse(value);}”
编辑。
好吧,我解决了这个问题做这样的事情:
[XmlElement("Remind")]
public string lastUpdatedTimeForXml2
{
get { return Remind.ToString("yyyy-MM-ddTHH:mm:ss"); }
set
{
if (value == "0001-01-01T00:00:00")
Remind = DateTimeOffset.MinValue;
else
Remind = DateTimeOffset.Parse(value);
}
}
[XmlIgnore]
现在没有崩溃,但我不知道为什么。这是最好的解决方案?
你是在东半球吗?您会收到异常消息_日期的UTC表示落在年度范围1-9999._之外,是吗?你期待什么时区? (如果需要,你可以使用'TryParse'。) –