It seems that the C ++ / CLI compiler does not generate the correct IL directive for it. It does not highlight the .param [1] = int32(0) directive, which C # uses to recognize default parameters. If you open the generated assembly in ILDasm, you will see it.
The compilation method will be to use the Optional and DefaultParameterValue attributes from the System::Runtime::InteropServices , but C # does not use them for the default parameters, so there is currently no easy way to create an overload.
Here you can ask a question about these attributes: stack overflow
Botz3000
source share