c# optional parameters in constructor