C# : How to set optional parameter without compile-time constant