I know that in C# it is possible to define optional parameters. My question is directed at how flexible this is.
Let f be a function as below, with a mandatory and b, c optional :
class Test {
public void f(int a, int b = 2, int c = 3) {
//...
}
}
Now, I know I can call the function in the following ways :
f(1) -> a equals 1, b equals 2, c equals 3
f(11,22) -> a equals 11, b equals 22, c equals 3
f(11,22,33) -> a equals 11, b equals 22, c equals 33
How do I do to not specify b, but a and c ?
refarguments on calls to legacy object models. (refarguments may not be elided on regular C# library calls.) All three features are necessary to make calls to Excel and Word look nice.