C# 如何使用C向Enterprise Architect中的转换添加触发器#

C# 如何使用C向Enterprise Architect中的转换添加触发器#,c#,visual-studio,enterprise-architect,C#,Visual Studio,Enterprise Architect,从上一个问题开始,现在我需要在状态机图中的转换中添加触发器。如何使用C#实现这一点。下面创建了一个转换及其gaurd值,但没有添加触发器 EA.Connector trans = psosDiagramElement.Connectors.AddNew(tb1[i].Text, "StateFlow"); trans.ClientID = GetElementByName(txtSourceElement.Text);

从上一个问题开始,现在我需要在状态机图中的转换中添加触发器。如何使用C#实现这一点。下面创建了一个转换及其gaurd值,但没有添加触发器

EA.Connector trans = psosDiagramElement.Connectors.AddNew(tb1[i].Text, "StateFlow");
                    trans.ClientID = GetElementByName(txtSourceElement.Text);
                    trans.MetaType = "Transition";
                    trans.TransitionGuard = tb1[i].Text;
                    trans.SupplierID = GetElementByName(cmb1[i].SelectedItem.ToString());
                    trans.Direction = "Source -> Destination";
                    trans.Constraints.AddNew("A", "Signal");
                    trans.Update();

我不认为有一个直接的API调用可以用来更新触发器

connetor的TransitionEvent属性将只更新规范值

更新触发器的解决方法是使用下面的调用直接查询

Repsitory.Execute(TriggerQuery)
您需要使用更新\在t\U外部参照中添加一个值

  • 名称为MOFProps
  • 输入为连接器属性
  • 作为触发器的行为
  • 描述列您需要更新触发器的GUID值(它也将接受逗号分隔的值,如下图所示)
插入查询示例:
Insert into t_xref(名称、类型、可见性、行为、描述、客户机)值('MOFProps'、'connector property'、'public'、'triggeraguid1、triggeraguid2'、'connectorid')


您可以将查询中的文本复制到图片中,也可以将其添加到图片中。已更新。谢谢你的留言@ThomasKilian