Customizing constructors in C#