0

Visual Studio と Enterprise Architect を使用してプログラムをコンパイルしようとすると、このエラーが発生します。

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));}
        }

どなたかご存知でしたら教えてください。

本当にありがとうございました!

4

2 に答える 2

0

提供されたメッセージだけでは、このコードで何が起こっているのかを理解することは不可能です。

  • 例外メッセージによって提供される行番号を見て、その行に移動します

  • またはVisual Studio で最初のチャンス例外を有効にし、例外が発生した場合、コードは問題を生成した行で正確に中断されます。

于 2012-04-16T11:54:42.973 に答える
0

repository可能性がありますnull-続行できるかどうかを判断するために、パラメーター引数に対して null チェックを行う必要があります。maindiagramである可能性もあります(null私たちが知っている限りでは、repositoryが何かである場合、GetCurrentDiagramが返される可能性がありnullます。

これらは両方とも、問題を引き起こす可能性のある方法でアクセスされます。

diagramListメソッドのスコープには存在しないため、より自由なスコープがあると仮定します。これも何もない可能性がありますが、呼び出しますAdd。また、これが何かであるかのように繰り返し処理し、がそうであるかどうかを確認せずにelementそのプロパティnullにアクセスしようとします。

つまり、投稿したコードでこれが発生する可能性のある場所が多数あります。エラーが実際に発生している場所をより具体的に示す必要がありますが、答えは同じです

于 2012-04-16T12:18:13.923 に答える