我有一个看起来像这样的对象:
public class MyObject
{
public Nullable<DateTime> SpecificDate {get;set;}
....other properties
}
我正在编写一个动态查询,接收此对象作为参数,我可能需要或不需要SpecificDate:
if (condition){
TheQuery = from....
where x.AppointDate.Date == TheObject.SpecificDate.Date
}
但是,当我写TheObject.SpecificDate时。我没有得到intellisense来选择.Date属性。
知道为什么吗?
感谢。
答案 0 :(得分:5)
您需要撰写TheObject.SpecificDate.Value.Date
。
但是,要小心,因为如果日期为null
,则会抛出。您可能想先检查TheObject.SpecificDate != null
。
答案 1 :(得分:1)
您需要检查SpecificDate.HasValue属性
所以你的代码应该是这样的:
if (condition){
TheQuery = from....
where TheObject.SpecificDate.HasValue && x.AppointDate.Date == TheObject.SpecificDate.Value.Date
}