Nie można rzucić obiektu typu „System.String [*]”, aby wpisać „System.String []”

Cześć wszystkim miałem problem z kodem w C # .NET, używam DLL do połączenia z serwerami OPC DLL, który był używany w projekcie VB.NET i działa bez problemu.

Próbuję pokazać listę dostępnych serwerów w polu ListBox, kod używany w VB.NET (i działa) to ten:

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

i napisałem to do użycia w aplikacji 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);
}

W trybie debugowania na karcie Local pokazuje to:

_listOPCServer | {ciąg [1..2]} | dynamic {string []} |

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

AKTUALIZACJA:

Dostaję błąd w linii „foreach (var i in_listOPCServer) ”

Nie można rzucić obiektu typu „System.String [*]”, aby wpisać „System.String []”

To jest rzeczywiście błąd.

Jestem pewien, że robię coś złego, czy ktoś może mi pomóc?

questionAnswers(3)

yourAnswerToTheQuestion