如何在状态机图Enterprise Architect中获得准确的元素类型

时间:2017-04-16 11:28:19

标签: c# enterprise-architect

我想使用EA.Automation接口在StateMachine图中找到确切的元素类型(Initial State,Choice,EntryPoint,ExitPoint ...)。看下面的图片:

我使用了下面的代码段:

void GetRealTypeOfNodes(EA.Diagram diagram)
    {
        var objects = diagram.DiagramObjects;
        foreach(EA.DiagramObject obj in objects)
        {
            EA.Element elem = Repository.GetElementByID(obj.ElementID); 

            MessageLogger.log(elem.Type, obj.ObjectType.ToString(), elem.Name, obj.GetType().ToString());
        }
    }

但我得到的是:

  • 元素类型:“StateNode” - 与预期不符,例如:初始状态或选择

你能帮助我得到我想要的东西吗?

1 个答案:

答案 0 :(得分:2)

您需要检查Element.SubType

  • 11 =决定
  • 3 =初始

这可能会在EA的帮助中记录,或者可能没有。发出查询

SELECT name, ntype FROM t_object
SQL便笺簿中的

。这将返回subType中的ntype,您可以找到遗失的内容。

根据我的Inside书,StateNode s可以将值3,4,10,11,12,13,14,100和101取为SubType。但我没有列出,哪个是哪个。