2

エンタープライズアーキテクトに2つのクラスAとBのUMLクラス図があります(例は簡略化されています)。クラス図は、AとBの間の関連付けを示しています。関連付けは、AとBでそれぞれ0..1から0..mです。これは、Aが0 ... m Bインスタンスを持つことができ、Bが0または1Aインスタンスに属することを意味します。エンタープライズアーキテクトでこのC#コードを生成しました(簡略化):

class A
{
   public B _b;
}

class B
{

}

しかし、それはむしろそうであるべきではありません:

class A
{
   public IList<B> _bs;
}

class B
{

}

コード生成中に考慮しなければならないことはありますか(両方のクラスを選択し、コードを生成しても成功しませんでした)。

4

2 に答える 2

2

[ツール] → [オプション] → [ソース コード エンジニアリング] → [C#] に移動し、[コレクション クラス] ボタンをクリックして、コード生成に使用するコレクション クラスを指定します (1..* ラベルは無視してください)。

コネクタの [プロパティ] の [ターゲット ロール] タブで、多重度プロパティ (順序付けなど) を指定します (EA はソース ロールの 0..1 多重度を無視すると確信しています。それでできることはあまりありません)。 )。

最後に、すべてのクラスとパッケージが C# として指定されていることを確認します。最も簡単な方法は、プロジェクト ブラウザーでパッケージを右クリックして [コード エンジニアリング] - [このパッケージのオプションをリセット] を選択し、ダイアログで [言語は <すべて>]、[C# に変換]、および [子パッケージの処理] を指定することです。

于 2012-11-01T05:46:14.000 に答える
1

コード生成で使用するコレクション クラスを定義する必要があります。メモリから、ツール>オプション>コードエンジニアリング> C#です

于 2012-10-26T05:04:17.880 に答える