我有一个UML类图,在企业架构师中有2个A和B类(简化示例)。类图显示A和B之间的关联。对于A和B,关联分别为0..1到0..m。这意味着A可以有0 ... m个B实例,B属于0或1个实例。我使用企业架构师(简化)生成了这个C#代码:
class A
{
public B _b;
}
class B
{
}
但是,不应该是:
class A
{
public IList<B> _bs;
}
class B
{
}
在代码生成过程中是否有任何我需要考虑的事项(我也选择了这两个类,而不是生成代码而没有成功)。
答案 0 :(得分:2)
转到工具 - 选项 - 源代码工程 - C#并单击“集合类”按钮以指定用于代码生成的集合类(忽略1 .. *标签)。
在目标角色选项卡上的连接器属性中指定多重性属性(有序等)(我很确定EA会忽略源角色的0..1多重性;它实际上并不是很多做它)。
最后,确保所有类和包都指定为C#。最简单的方法是在项目浏览器中右键单击该包,然后选择代码工程 - 此包的重置选项,然后在对话框中指定“语言在哪里&lt;全部&gt;”,“转换为C#”和处理子包。 / p>
答案 1 :(得分:1)
您需要定义要使用代码生成的集合类。它来自记忆,工具&gt;选项&gt;代码工程&gt; C#