Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 企业架构师:Package.Elements.count是负值吗?_C#_Enterprise Architect - Fatal编程技术网

C# 企业架构师:Package.Elements.count是负值吗?

C# 企业架构师:Package.Elements.count是负值吗?,c#,enterprise-architect,C#,Enterprise Architect,在EA中,我通过darg和drop将30000多个元素从一个包转移到另一个包。 现在,当我尝试使用以下方法检查目标包的计数时,请使用c#addin: package.Elements.Count 它将以-32101的形式出现。 这怎么可能 我有三种类型的元素,有三种不同的刻板印象。如何获取每种元素类型的范围(开始索引和结束索引) 我尝试使用以下方法获取每种类型元素的数量: for (short i = 0; i < 0-package.Elements.Count; i++)

在EA中,我通过darg和drop将30000多个元素从一个包转移到另一个包。 现在,当我尝试使用以下方法检查目标包的计数时,请使用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;
                        }
                    }
for(短i=0;i<0-package.Elements.Count;i++)
{
if((package.Elements.GetAt(i.Stereotype)==“实现数据类型”)
{
执行计数=执行计数+1;
}
else if((package.Elements.GetAt(i.Stereotype)==“实现数据类型元素”)
{
元素计数=元素计数+1;
}
else if((package.Elements.GetAt(i.Stereotype)==“Sw数据定义道具”)
{
sw_计数=sw_计数+1;
}
}
但EA会停止对此作出反应吗? 另外,如何找到每种类型元素的起始索引和结束索引?

A使用16位保存其值,并且可以具有-32768到32767的值

不幸的是,EA使用了一个简短的返回包和元素计数,因此一个包最多可以包含32767个包或元素。之后,它将滚动到-32768

从外观上看,这是EA SDK的一个限制

解决办法

  • 您可以将元素分组到子包中,每个子包中包含30000个元素
  • 您可以将EA文件导出为XML并在XML中工作

数据类型的范围很短,从-32768到32767,这看起来像是溢出。package.Elements.Count也是short类型吗?