c# - 添加额外的基类来阻止
问题描述
我正在尝试将现有块作为基类添加到另一个块。(SysML 1.4)
建模完成后,我想在图中选择块并添加诸如零件编号和供应商之类的属性。对我来说,这似乎是通过继承来做到这一点的最简单方法。
我正在使用 C# 和 Interop.EA.dll 以获得比使用脚本更好的调试信息。
此代码有效,但不添加基类。
EA.Repository m_Repository = Helpers.EAHelper.ActiveModel;
EA.Collection myCollection = m_Repository.GetCurrentDiagram().SelectedObjects;
foreach(object myObject in myCollection)
{
EA.DiagramObject myDiagramObject = (EA.DiagramObject)myObject;
EA.Element myElement = m_Repository.GetElementByID(myDiagramObject.ElementID);
EA.Element Class2Add = Helpers.EAHelper.BaugruppeClass;
EA.Element newBaseClass = myElement.BaseClasses.AddNew(Class2Add.ElementID.ToString(), Class2Add.Type.ToString());
if (!newBaseClass.Update())
System.Windows.MessageBox.Show("ups");
myElement.BaseClasses.Refresh();
int count = myElement.BaseClasses.Count;
myElement.Update();
}
有什么想法我做错了吗?
解决方案
您不能使用该BaseClasses
集合来添加基类。
相反,您应该使用该Connectors
集合添加一个Generalization类型的连接器,并将目标 id 设置为基类的 ID。
推荐阅读
- javascript - 鼠标右键单击IE11崩溃
- mule-component - 无法使用参数错误 mule 4.0 调用函数“map”的任何重载
- laravel - 使用高级休息客户端发送带有其他帖子数据的文件?
- javascript - 如何根据日期禁用下拉选项
- javascript - javascript即使返回false也提交表单
- c - 使用产生错误结果的数组进行矩阵乘法
- python - Python AttributeError:'builtin_function_or_method'对象没有属性'right'
- java - Jackson 在反序列化时使用 Setter
- javascript - 在 onFetch (BIRT) 中使用行对象
- javascript - 离子 3 $http.post 返回空