Possible Duplicate:
method overloading vs optional parameter in C# 4.0
It seems as though most of the cons of optionals like versioning issues could be addressed by making optional parameters simply convert into overloads. Is there a technical reason the C# optional parameters are not implemented in way that reduces to overloads?
One reason is that if the compiler automatically compiled down optional parameters into the overloads, it would conflict with the developers ability to define them on their own. For example the following code is legal.