When a C# function has an output parameter, you make that clear as follows:
private void f(out OutputParameterClass outputParameter);
This states that the parameter does not have to be initialized when the function is called. However, when calling this function, you have to repeat the out keyword:
f(out outputParameter);
I am wondering what this is good for. Why is it necessary to repeat part of the function specification? Does anyone know?