Невозможно привести объект типа «System.String [*]» к типу «System.String []»

Привет всем, у меня была проблема с кодом в C # .NET, я использую DLL для подключения к OPC-серверам DLL, которая использовалась в проекте VB.NET и работает без проблем.

Я пытаюсь показать список доступных серверов в ListBox, код, используемый в VB.NET (и работает), такой:

Dim AllOPCServers As Object
AllOPCServers = AnOPCServer.GetOPCServers

' Load the list returned into the List box for user selection
Dim i As Short
For i = LBound(AllOPCServers) To UBound(AllOPCServers)
    AvailableOPCServerList.Items.Add(AllOPCServers(i))
Next i

и я написал это, чтобы использовать в приложении C #

try
{
    var _listOPCServer = _OPCServer.GetOPCServers();
    foreach(var i in _listOPCServer)
    {
        string serverName = (string)i;
        listServers.Items.Add(serverName);
    }             
}
catch (Exception exc)
{
    lstMsg.Items.Add(DateTime.Now + " Error al Obtener Lista de OPC's: " + exc.Message);
}

В режиме отладки на вкладке «Локальный» это выглядит так:

_listOPCServer | {строка [1..2]} | динамический {string []} |

[1]        |  "Server01"    | string  
[2]        |  "Server02"    | string

UPDATE:

Я получаю сообщение об ошибке в строке "foreach"_listOPCServer) & Quot;

Unable To Cast object type 'System.String[*]' to type 'System.String[]'

Это на самом деле ошибка.

Я уверен, что я делаю что-то не так, кто-то может мне помочь?

Ответы на вопрос(3)

Ваш ответ на вопрос