VB6 Variant (Array) to VB.NET Array

When I try and convert this to a VB.NET string array, I receive the cast error. So, to get around this I do the following:

Dim a As Array = CTYPE(old.Method(), Array)

This does not throw an exception, so I therefore assume that the VB6 method is indeed returning an array object. However, I cannot cast this to a string array, even though each element in the Array 'a' is of type string.

Try it without an explict cast. Then cast the strings beneath it. My resoning is that object() has no knowledge of variant and you have to cast .Net types to object. The implict cast might trigger something else.