C# 4.0 optional out/ref arguments

c#-4.0, optional-arguments, optional-parameters

Solution

As already mentioned, this is simply not allowed and I think it makes a very good sense. However, to add some more details, here is a quote from the C# 4.0 Specification, section 21.1:

Formal parameters of constructors, methods, indexers and delegate types can be declared optional:

fixed-parameter: attributesopt parameter-modifieropt type identifier default-argumentopt default-argument: = expression

- A fixed-parameter with a default-argument is an optional parameter, whereas a fixed-parameter without a default-argument is a required parameter.

- A required parameter cannot appear after an optional parameter in a formal-parameter-list.

- A `ref` or `out` parameter cannot have a default-argument.

Problem

Does C# 4.0 allow optional `out` or `ref` arguments?

Original source