Sparx EA VBScript:如何用ConveyedItems.AddNew添加已有元素到信息流连接器
正确关联现有元素到EA InformationFlow的ConveyedItems集合
别担心,这种EA API的细节确实经常藏得比较深,手册里没找到太正常了!
当你需要把现有元素添加到InformationFlow连接器的ConveyedItems集合时,AddNew方法的参数不是随便填的名称和类型——你需要传入目标元素的唯一标识符和它的类型值,这样EA才能准确找到并关联已存在的元素,而不是创建一个新元素。
正确代码示例
假设你已经获取到了要添加的现有元素targetElement(类型为EA.Element),代码应该这样写:
Dim theConnector As EA.Connector Set theConnector = ' 这里是你获取连接器的逻辑 ' 关联现有元素到ConveyedItems theConnector.ConveyedItems.AddNew targetElement.ElementGUID, targetElement.Type ' 别忘了保存更改 theConnector.Update theConnector.ConveyedItems.Refresh
参数说明
- 第一个参数:
targetElement.ElementGUID
这是EA中元素的全局唯一标识符,确保EA能精准定位到你要关联的那个现有元素,而不是新建一个同名元素。 - 第二个参数:
targetElement.Type
这是元素的类型字符串(比如"Class"、"DataType"、"Interface"等),用于匹配元素的类型,保证关联的正确性。
如果直接传自定义的name和type,EA会默认创建一个新的元素并关联,这显然不是你想要的结果。用元素的GUID和原生类型就能完美实现现有元素的关联啦!
内容的提问来源于stack exchange,提问作者Grigorio
相关产品推荐
相关产品推荐

