我正在尝试更新树视图但我收到的错误是我无法将Obj转换为字符串。
我正在创建一个使用多个线程的扫描程序,一旦检查每个项目,我想调用一个委托来使用新信息更新树视图。如果我只使用对象调用方法,我可以轻松地调用它来更新信息,但是当我尝试使用字符串时,我也会收到错误。
以下是我的表现:
public delegate void StringDelegate(string input, string address);
public void UpdateScan(string input, string ip)
{
TreeNode treeNode = new TreeNode(input);
if (!(outputTree.Nodes.ContainsKey(input)))
{
//Add our parent node
outputTree.Nodes.Add(treeNode);
//Add our child node
treeNode.Nodes.Add(ip);
}
else
{
//Add only child node
treeNode.Nodes.Add(ip);
}
}
public void scanItem()
{
//Scan code
//Result Code
string outPut = "Pretend Result";
//Invoke our callback
object[] obj = new object[1];
obj[0] = outPut;
outputTree.BeginInvoke(new StringDelegate(UpdateScan), obj, Ip.ToString());
}
有谁能告诉我哪里出错了?
答案 0 :(得分:0)
您正在向呼叫显式添加对象。
更改
object[] obj = new object[1];
obj[0] = outPut;
outputTree.BeginInvoke(new StringDelegate(UpdateScan), obj, Ip.ToString());
到
outputTree.BeginInvoke(new StringDelegate(UpdateScan), outPut, Ip.ToString());