.NET 4.0 does have optional parameters. (google is also your friend, here.)
EDIT (because of Anthony Pegram correct, comment)...
And yes, that is how you would do it.
But DateTime.
Now (static property, on that class) is not know until run-time. As such, you can't use that as an optional value.
.NET 3.5 doesn't ... so then you would have to do what JS Bangs said...
public SomeClassInit(Guid docId)
{
return SomeClassInit(docId, DateTime.Now);
}
public SomeClassInit(Guid docId, DateTime addedOn = DateTime.Now???)
{
//Init codes here
}
or even the null checking/null value parameter from munificent's answer.
Cheers Anthony.