在企业架构师(简化示例)中,我有一个包含2个类A和B的UML类图。类图显示了A和B之间的关联。A和B的关联分别是0..1到0..m。这意味着A可以有0 ..。M个B实例,B属于0或1个A实例。我使用企业架构师生成了以下C#代码(简化):
class A
{
public B _b;
}
class B
{
}
然而,它不应该是:
class A
{
public IList<B> _bs;
}
class B
{
}
在代码生成过程中有没有什么我必须考虑的(我也选择了两个类,然后生成了代码,但没有成功)。
发布于 2012-11-01 05:46:14
转到Tools - Options - Source Code Enineering - C#并单击Collection Classes按钮以指定用于代码生成的集合类(忽略1..*标签)。
您可以在连接器的属性中指定多重性属性(ordered等),在Target Role选项卡上(我非常确定EA将忽略Source Role上的0..1多重性;它并不能用它做很多事情)。
最后,确保所有的类和包都被指定为C#。最简单的方法是右键单击项目浏览器中的包,选择Code Engineering - Reset Options for this Package,然后在对话框中指定"Where language is ","Convert to C#“和Process Child Packages。
发布于 2012-10-26 05:04:18
您需要定义希望代码生成使用哪个集合类。在内存中,依次为工具>选项>代码工程> C#
https://stackoverflow.com/questions/13071432
复制