Enterprise Architect:Package.Elements.count是否为负面?

时间:2016-09-27 11:13:36

标签: c# enterprise-architect

我通过darg和drop将EA中的30,000多个元素从一个包转移到另一个包中。 现在使用c#addin尝试使用以下方法检查目标包的数量:

package.Elements.Count

它将以-32101的形式出现。 怎么可能。

我有三种类型的元素,有三种不同的刻板印象。如何获得每种元素的范围(起始索引结束索引)?

我试图使用以下方法获取每种元素的数量:

 for (short i = 0; i < 0-package.Elements.Count; i++)
                    {
                        if ((package.Elements.GetAt(i).Stereotype)=="Implementation-Data-Type")
                        {
                            impl_count=impl_count+1;
                        }
                        else if ((package.Elements.GetAt(i).Stereotype)=="Implementation-Data-Type-Element")
                        {
                            ele_count=ele_count+1;
                        }
                        else if ((package.Elements.GetAt(i).Stereotype)=="Sw-Data-Def-Props")
                        {
                            sw_count = sw_count+1;
                        }
                    }

但是EA停止响应吗? 另外,我如何找到每种元素的起始和结束索引。?

1 个答案:

答案 0 :(得分:1)

short使用16位来保存它的值,并且可以具有-32,768到32,767的值。

不幸的是,EA使用short来返回Package和Element计数,因此包可以包含的大多数包或元素是32,767。之后,它将翻转到-32,768。

这是EA SDK的外观限制。

<强>变通方法

  • 您可以将元素分组为子包,每个子包中包含30,000个元素。
  • 您可以将EA文件导出为XML并使用XML格式。