我想编写一个扩展方法,将一天添加到可为空的日期时间,但修改日期本身。
我想使用它如下:
someDate.AddOneDay();
这直接改变了somedate的值。
我最初写的代码是:
public static DateTime? AddOneDay(this DateTime? date)
{
if (date.HasValue)
{
date.Value = date.Value.AddDays(1);
}
return null;
}
但这不起作用,因为引用被更改了,所以这样调用它
不会改变某个日期的值。
有没有办法做到这一点,并避免像这样的代码:
someDate = someDate.AddOneDay();
我还想找个DateTime属性的设置者,但是他们没有。
public int Day { get; }
public int Month { get; }
public int Year { get; }
最佳答案
你不能把日期时间定为不变的,应该保持不变。
只要做:
someDate = someDate.AddOneDay();
如果您想更具体一些,可以将函数重命名为:
DateTime? someDate = someDate.AddOneDayOrDefault();