将Jscript转换为C#以为Sparx EA创建加载项

时间:2017-12-31 23:57:42

标签: c# enterprise-architect jscript

我在Jscript中编写了代码,用于在EA项目浏览器中扫描图表,然后创建有关现有元素的元素列表。代码没有任何问题。目前,当我尝试将我的代码(Jscript)转换为C#以创建一个自定义的Enterprise Architect加载项时,我遇到了问题。

这是我在Jscript中的代码的一部分:

EA.Package theModel;
theModel = Repository.Models.GetAt( 0 );

// Iterate through all views (top level packages) in the model
var viewEnumerator = new Enumerator( theModel.Packages );

while ( !viewEnumerator.atEnd() )
{
     EA.Package currentView;
    currentView = viewEnumerator.item();

    // Add the name of this view to the output window
    MessageBox.Show( currentView.Name );

    // Iterate through all diagrams in this view

    viewEnumerator.moveNext();
}

这是c#中的转换代码:

 var viewEnumerator = new Enumerator( theModel.Packages );

但是,我遇到以下问题:

dict

错误是:

  

类型或命名空间名称'枚举器'找不到(你错过了使用指令或汇编引用吗?)

实际上,我不知道如何在C#

中创建类似的内容

任何建议

1 个答案:

答案 0 :(得分:1)

您可以使用foreach循环代替Enumerator

EA.Package theModel;
theModel = Repository.Models.GetAt( 0 );

// Iterate through all views (top level packages) in the model
foreach( EA.Package currentView in theModel.Packages )
{
    // Add the name of this view to the output window
    MessageBox.Show( currentView.Name );
}

确保键入currentView(并且不要使用var),因为EA.Collection不是强类型的。