错误:对象引用未设置为对象企业架构师和可视化工作室的实例
本文关键字:可视化 工作室 实例 企业 对象引用 设置 对象 错误 | 更新日期: 2023-09-27 18:31:11
当我尝试使用Visual Studio和Enterprise Architect编译我的程序时,我收到此错误。
我正在为企业架构师编写一个工具,我必须制作一个图表,但我继续收到此错误,我不知道该怎么办。
我有问题的代码是:
public Graph(EA.Repository repository)
{
EA.Diagram maindiagram;
this.modelRepository = repository;
maindiagram = repository.GetCurrentDiagram(); //recupero del diagramma
this.diagramId = maindiagram.DiagramID; //identificativo del diagramma
//inizializzazione nodi
Collection nodeCollection = maindiagram.DiagramObjects;
nodeList = new ArrayList();
foreach (DiagramObject diagram in maindiagram.DiagramObjects)
{
diagramList.Add(diagram);
foreach (Element element in diagramList)
{
if (element.Type == "Class"|| element.Type == "Component"||element.Type == "Package")
{ nodeList.Add(new Node(diagram, ref repository)); }
}
}
//inizializzazione archi
Collection linkCollection = maindiagram.DiagramLinks;
linkList = new ArrayList();
foreach (DiagramLink edge in maindiagram.DiagramLinks)
{
edgeList.Add(edge);
foreach(Connector connector in edgeList)
if (connector.Type == "Association" || connector.Type == "Aggregation" || connector.Type == "Compose" || connector.Type == "Dependency"
|| connector.Type == "Generalization" || connector.Type == "Realization")
{ linkList.Add(new Link (edge, ref repository));}
}
如果您知道如何操作,请提供帮助。
多谢!
仅通过提供的消息无法理解此代码中发生了什么。
-
查看异常消息提供的行号,然后转到该行
-
或在 Visual Studio 中启用首次机会异常,在异常时,代码将在生成问题的行上完全中断。
repository
可以null
- 你应该对参数参数进行空检查以确定你是否可以继续;也可以maindiagram
null
(据我们所知,如果repository
是某物,那么GetCurrentDiagram
可能会返回null
。
这两种内容的访问方式都可能导致您的问题。
diagramList
不存在于方法的范围内,因此假设它具有更自由的范围:这也可能是什么,但你调用Add
。您还可以循环访问它,就好像它是某种东西一样,并且不检查element
是否null
,请尝试访问其属性。
简而言之,在您发布的代码中有很多地方可能会发生这种情况。您应该更具体地说明错误实际发生的位置,但是,答案将是相同的:有些东西什么都没有。