如何在 c# 中使用 EA 插件在包之间移动现有元素?

How to move exisiting elements between packages with an EA Addin in c#?

我正在使用 c# 开发 EA 插件(感谢 Geert),并希望使用代码将现有元素从一个包移动到另一个包。

很清楚如何添加或删除元素 to/from EA.Collection p.Elements,但这不起作用,因为此过程更改了元素的 GUID。

有可能吗?

是的。您只需将 packageId 属性 更改为新包的那个即可。改完后别忘了update()

此外,您可以使用 TreePos 更改浏览器中的位置,在这种情况下,您应该为相应包列出的所有元素明确编号。临时排序可能会产生奇怪的结果,因为 EA 中的排序顺序是 - 我对此一无所知 ;-)