可选参数,带有now(Date)默认值

时间:2014-04-16 10:40:44

标签: .net vb.net

如何为可选参数指定默认的Date Time(Now)值。

将now对象分配给可选参数时,会出现错误

Constant expression is required

代码:

Public Sub ReminderMail(Optional ByVal ReminderMailDate As DateTime = Now)

// Code Block

End Sub 

2 个答案:

答案 0 :(得分:12)

试试这个:

Public Sub ReminderMail(Optional ByVal ReminderMailDate As DateTime = Nothing)

If ReminderMailDate = Nothing Then ReminderMailDate = Now

// Code Block

End Sub 

答案 1 :(得分:11)

您可能需要考虑提供Sub的两个重载,而不是使用可选参数:

Public Sub ReminderMail()
    ReminderMail(DateTime.Now)
End Sub

Public Sub ReminderMail(ByVal ReminderMailDate As DateTime)

// Code Block

End Sub 

从呼叫者的角度来看,其运作方式非常相似。