Improving Productivity with Named and Optional Parameters
IN THIS CHAPTER
Distinguishing between named and optional parameters
Using optional parameters
Implementing reference types
Declaring output parameters
Parameters, as you probably remember, are the inputs to methods. They’re the values that you put in so that you get a return value. Sometimes, the return values are parameters, too, which confuses things.
In older versions of C# and most C-derived languages, parameters can't be optional. Instead of making parameters optional, you are required to make a separate overload for every version of the method you expect your users to need. This pattern works well, but there are some problems that are explored in this chapter. Many VB programmers point to flexible parameterization as a strong reason to use VB over C#.
C# 4.0 and above have optional parameters. Optional parameters are parameters that have a default value right in the method signature — just like the VB.NET implementation. This is one more step toward language parity, and again in the name of COM programming. ...