Well I was suprised, but this is what I found by reflecting some VB code which had optional parameters, into C# code, and it works!
Pete
Code:
[COLOR=blue]public void[/color] Foo([[COLOR=teal]Optional[/color], [COLOR=teal]DefaultParameterValue[/color]([COLOR=blue]null[/color])][COLOR=blue]string[/color] myOptionalParameter1, [[COLOR=teal]Optional[/color], [COLOR=teal]DefaultParameterValue[/color]([COLOR=blue]null[/color])][COLOR=blue]string[/color] myOptionalParameter2)
{
}
Pete