正在写这样的犹太人的东西?或者有可能出现的问题?没有额外的方法转换为可空类型
private DateTime? getDate(object date)
{
return date != null ? Convert.ToDateTime(date) : (DateTime?)null;
}
我已经看到了很多的问过类似的问题的问题,但答案总是因为做的转换,我在想,如果我可以跳过这一步,写这样的作业的扩展方法,还是有一些边缘情况下我没有考虑?
另外我在示例中使用DateTime,但我会认为这可以适用于任何可空类型。
我假设你已经占了InvalidCastException的或出现FormatException这种方法之外? http://msdn.microsoft.com/en-us/library/ky38w316.aspx - 如果是这样 - 看起来对我好! – Jay 2013-02-18 18:48:31
@Jay在我的具体情况下,它来自数据库中的日期字段,所以它将是一个有效的日期或null,我只是要做到这一点,我回来的东西,所以我保留为每个值,或将其转换为适当的日期类型。 – 2013-02-18 18:52:13
当你期待DateTime传入时,你为什么将一个对象当作参数?如果您想使其更具通用性,您可以使用具有以下签名的方法(我尚未验证此方法):private Nullable getNullable (T object)。您可以在该方法中使用通用转换方法。我很确定这与我见过的扩展方法示例类似,但它不是扩展方法,这是您所要求的。 –
lintmouse
2013-02-18 18:57:58