Methods that use default parameters are allowed under the Common Language Specification (CLS); however, the CLS allows compilers to ignore the values assigned to these parameters. Code written for compilers that ignore default parameter values must explicitly provide arguments for each default parameter. To maintain the behavior that you want across programming languages, methods that use default parameters should be replaced with method overloads that provide the default parameters.
The compiler ignores the values of default parameters for C# and Managed Extension for C++ when accessing managed code. The Visual Basic compiler supports methods with default parameters using the Optional (Visual Basic) keyword.