美好的一天。
我正在研究处理任务的东西。
每个任务由 3 个字符串和一个 DateTime 对象组成
下面是我构建的构造函数。
public Task(string von, string was, string an, DateTime zeit = DateTime.Now)
编译时出现编译器错误
Default parameter value for 'zeit' must be a compile-time constant (CS1736)
我认为问题是,-obvioulsy- DateTime.Now 的值取决于调用构造函数的时间,这就是我想要在这里的重点。
我已经看过 [this] 线程,但它并不真正适用于我,因为 DateTime 对象的内存需求总是相同的,并且该线程说问题是该调用的未知堆需求。1
我已经有了解决方法的想法(见下文),但众所周知,解决方法不是最佳实践
public Task(string von, string was, string an, DateTime zeit){
if(zeit == null)
dateOfCreation = DateTime.Now; //dateOfCreation being the name of Task's internal DateTime field.
else
dateOfCretion = zeit;
因此,如果我想使用当前的 DateTime,我将传递 null。但是:如果我花时间和精力总是专门传递 null,我还不如每次传递 DateTime.Now。
问题:有没有办法让参数DateTime zeit = DateTime.Now
接受或替换为相同的结果?