我通过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停止响应吗? 另外,我如何找到每种元素的起始和结束索引。?
答案 0 :(得分:1)
short使用16位来保存它的值,并且可以具有-32,768到32,767的值。
不幸的是,EA使用short来返回Package和Element计数,因此包可以包含的大多数包或元素是32,767。之后,它将翻转到-32,768。
这是EA SDK的外观限制。
<强>变通方法强>