【发布时间】:2012-04-02 01:07:04
【问题描述】:
我目前正在做一个项目,该项目创建一个字典,其中实例的 int 索引和复杂类型作为值。由于这是一个庞大的学校项目,我不想发布大量代码,因为我有一个逻辑问题,而不是“我需要代码”。我会尽量讲清楚,如果有什么我需要更好地解释的,请告诉我。
首先。我的服务器中有一本字典:
private Dictionary<int,List<complexType>> dictName = new Dictionary<int,List<complexType>>
每次客户端启动时,它都会向字典注册(我创建一个空白复杂类型来实例化它,然后我加载字典):
List<complexType> temp = null;
dictName.Add(id,temp)
然后,当我想为特定实例添加到列表中时,我会这样做:
complexType myItem = new complexType();
dictName[id].Add(myItem);
当我运行此代码时,当第二个客户端尝试运行时出现错误:
"一个未处理的异常类型 'System.Reflection.TargetInvocationException' 发生在 mscorlib.dll。附加信息:异常已由 调用的目标。
现在当第二个用户点击时会发生这种情况:
dictName.Add(id,temp) 来自第一部分。
如果我将 temp 的实例化更改为 List<complexType> temp = new List<complexType>();
然后它通过了那个点,但是当它更新客户端时我再次遇到同样的错误。
我目前正在使用这种方式通过 int 和 string(字典)传递数据 它们工作正常,但是当我在字典中添加复杂类型的列表时,出现上述错误。
如果有人有任何建议,我将不胜感激。我希望这与我最初加载的空白列表有关。如果您还有什么需要了解的,请询问谢谢!
【问题讨论】:
-
有什么例外?发布的异常应该有一个 InnerException 属性。你能告诉我们它是什么吗?
-
@spender 我看了看,它似乎没有...当我通过它进行调试时,只是随机抛出 break 语句,但上面显示的异常除外。然后它会打开一个标签,说没有可用的来源。我也尝试输入一个try catch来获取信息,但它没有进入catch
-
您是否尝试从不同的线程访问它?
-
“新的私人...()”?!我希望这只是一个错误。
-
定义“当第二个用户点击”
标签: c# wpf client-server instance instantiation