|According to that link (and another article I've found), when you add the COM reference to the project in VS.Net, it automatically converts it for you so that you are "on the same page".
Anyway....I found the assembly info you were talking about....I had to use a VS.Net command line tool called ildasm (which I didn't know about before).
But anyway...here it the info it generates:
.method public hidebysig newslot virtual <br />
instance string <br />
marshal( safearray bstr) <br />
MyFunction([in][out] string& marshal( safearray bstr) varNames) runtime managed internalcall<br />
.custom instance void [mscorlib]System.Runtime.InteropServices.DispIdAttribute::.ctor(int32) = ( 01 00 15 00 03 60 00 00 )
.override COMInterface._COMClass::MyFunction <br />
I'm still trying to match the C# datatype for the argument for that VB6 COM function.
There are only 10 types of people in this world....those that understand binary, and those that do not.