我收到在我的属性中检测到无法访问的代码.这适用于常规字符串字段,但不适用于DateTime数据类型.
private DateTime m_RenewalDate;
public DateTime M_RenewalDate
{
get { return m_RenewalDate != null ? m_RenewalDate : DateTime.MinValue; }
set { m_RenewalDate = value; }
}
Run Code Online (Sandbox Code Playgroud)
这是我的sqldatareader
reader.GetDateTime(reader.GetOrdinal("M_RENEWALDATE"))
Run Code Online (Sandbox Code Playgroud)
dri*_*iis 10
DateTime是值类型,不能为null.因此,getter中的代码无法访问:
return m_RenewalDate != null ? // always evaluates to true
m_RenewalDate : // and therefore always returns this
DateTime.MinValue; // The code never hits this case.
Run Code Online (Sandbox Code Playgroud)
如果数据库中的字段可以为null,那么您可能希望将该属性声明为可为空的DateTime : DateTime?.