7

在我的课堂上,我有这些设置器/获取器:

public int Id { get; set; }
public String ProjectName { get; set; }
public String ProjectType { get; set; }
public String Description { get; set; }
public String Status { get; set; }
public DateTime StartDate { get; set; }

DateTime 是不可为空的类型。因此,当我从传递给类构造函数的旧数据库中检索数据时,当 StartDate 为空时,我会收到错误消息。

我应该如何围绕这个进行设计?

谢谢埃里克

4

1 回答 1

14

从 .NET 2.0 开始,您可以使任何结构为空。

 public DateTime? StartDate { get; set; }

注意?. 它是一个编译器操作符Nullable<DateTime>

将其从阅读器中拉出时,您可以这样做

 obj.StartDate = reader["StartDate"] as DateTime?;

以下是有关可空类型的更多信息:http: //www.codeproject.com/Articles/275471/Nullable-Types-in-Csharp-Net

于 2012-07-11T13:24:45.950 回答