Tag: enterprise architect

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

我正在使用c#中的EA Addin(感谢Geert),并希望使用代码将现有元素从包移动到另一个。 很清楚如何在EA.Collection p.Elements中添加或删除元素,但这不起作用,因为此过程更改了元素的GUID。 有可能吗?

我必须以哪种格式将参数传递给Project.ImportDirectory(…)?

我已经设法通过自动化API打开我的EA项目,但是不知道将参数传递给ImportDirectory(…)方法的正确格式: var repo = new EA.RepositoryClass(); repo.OpenFile(“some.eap”); var proj = repo.GetProjectInterface(); string language = “…”; // what to put here for C#? string extraoptions = “…”; // what to put here for my option (see below) proj.ImportDirectory(“{C5007706-B7DA-4ACC-9123-F934F9B60305}”, language, “C:\somedir”, extraoptions); 手动导入时,我在EA的“导入源目录”窗口中选择以下选项: C#作为编程语言 检查递归处理子目录 未选中为每个包创建逻辑图 导入已定义的组件未选中并显示为灰色 未选中导入私有成员 选择每个命名空间创建包 选择同步现有类 删除代码中未找到的类设置为“始终删除” 等效转换为ImportDirectory(…)方法的字符串参数是什么?

如何识别contextItemDoubleClick事件触发的位置

我想确定ContextItemDoubleClick事件在企业架构师中的触发位置。 (例如)如果我双击EA中的项目浏览器,我需要确定它是从项目浏览器触发的,因为现在只要用户在EA内部双击, ContextItemDoubleClick就会触发。 是否有可能从项目浏览器或打开的图表或图表对象中识别它?

使用EA生成类图

我正在尝试使用EA的逆向工程选项生成类图。 我成功地使用选项’import source directory’导入我的代码。 如何从导入的文件生成类图?

以编程方式启动EA

我想通过Windows服务打开一个EA会话,并在幕后做一些动作。 我使用Repository API,但是,不知道如何正确初始化它。 EA.Repository repository = ?; repository.OpenFile(@”C:\test.eap”); repository.Exit(); 有任何想法吗?