【发布时间】:2012-09-07 03:15:32
【问题描述】:
大家好,我对 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
更新:
我在“foreach(var i in _listOPCServer)”行中收到错误
无法将对象类型“System.String[*]”转换为类型“System.String[]”
这是真正的错误。
我确定我做错了什么,有人可以帮助我吗?
【问题讨论】:
-
这里是 similar 案例的最小复制:
(string[])(new string[0,0]),虽然我不知道如何产生确切的消息.. 在任何情况下,请张贴 真正的错误消息(复制和粘贴)以避免可能的错误。 -
你在哪一行得到错误?我看不出你想将
_listOPCServer投射到什么地方。 -
@pst 这是我无法将对象类型“System.Sting[*]”输入“System.String[]”的错误
-
@DStanley 我在 foreach(var i in _listOPCServer) 行中得到错误
-
@DStanley 哈哈抱歉,拼写错误,是字符串,让我更正一下
标签: c# .net visual-studio-2010 casting opc