C# プロファイルには複数のステレオタイプが含まれ、
これらを使用して UML モデルをマークアップし、各モデル要素を C# コードに変換する方法を制御できます。
プロファイルのステレオタイプは、プロファイルをソース・モデルに適用する場合に使用可能になります。
C# プロファイルのステレオタイプをソース・モデルのモデル要素に適用することにより、変換による C# コードの生成方法を指定できます。例えば、モデル内の操作にステレオタイプ «CSharp Method» を適用し、virtual ステレオタイプ・プロパティーを true に設定した場合は、その変換により仮想操作が生成されます。
C# プロファイルを使用して .NET アプリケーションをモデル化する際のガイドライン
C# アプリケーションを示す UML モデルを作成する場合は、以下のガイドラインに従います。
- Rational® Modeling Extension for Microsoft® .NET を備えた IBM® Rational モデリング製品を開くときには、Microsoft Visual
Studio 2005、または Visual Studio 2008 Standard または Professional Edition が開いている必要があります。
- モデル内のパッケージに名前を付けるとき、パッケージ名にピリオド (.) を使用しないでください。 例えば、パッケージ "com" 内のパッケージ "ibm" 内にパッケージ "xtools" をネストする必要がある場合は、単一のパッケージに "com.ibm.xtools" という名前を付ける代わりに、階層パッケージ構造を使用して、パッケージ "com" を作成し、パッケージ "ibm" をネストし、"xtools" をネストします。
この表記法によって常に固有の表現が得られ、コードをモデルに変換する際にヒューズ・ウィンドウにエラー・メッセージが表示されることが少なくなります。
- C# に特有な値をステレオタイプ・プロパティーを通じて設定する必要があるときに限り、C# ステレオタイプを適用してください。 ステレオタイプを適用せずに同一のコードが生成されると、C# から UML への変換により、以前の UML から C# への変換時にステレオタイプが使用されなかったと見なされ、調整ウィンドウが開いて差分が表示され、UML モデルからステレオタイプを取り除くよう指示されます。
- 適用されているステレオタイプの無効な組み合わせは検出されません。
プロファイル・ステレオタイプの無効な使用は避けてください。 例えば、«CSharpClass»
および «CSharpInterface» を両方とも適用することは無効であり、予測できない変換動作を引き起こします。
- 部分型をモデル化するときは、各パートが従属パートとして表示される部分型として、1 つの空の型を使用してください。 モデル化された空の部分型 (ソース) と定義された部分型 (ソースへの依存関係を持つ) を、モデル内の単一のパッケージに含めてください。そうすることにより、モデル内の 1 つのパッケージで、部分型のすべてのパートが定義されます。 ソースの名前が型名として使用され、その他のパートの名前は型の名前として使用されません。 マッピング・モデルを使用して、各部分パートを別々のファイルに指定することができます。 コードからモデルに変換するとき、ユーザーによって各パートに使用された名前は不明であるため、変換によって [型名]_[ファイル名] という名前が生成され、ヒューズ・ウィンドウに相違として表示されます。
- C# で総称型を使用できるのは、型パラメーターの値が指定されている場合だけです。 総称型の新しい型を作成するには、その型パラメーターをバインドします。
したがって、パラメーター T を持つ List クラスを使用するには、List[文字列] を使用します。
UML ではそのような構造型はテンプレート・バインディングとして表され、コードを UML に変換して一時モデルを生成するときに型の名前は使用されません。 構造型は匿名型の名前 (マージ・ウィンドウに相違として表示される) として表示されるので、それらの型をターゲット・モデル内の実際のテンプレート・バインディングにマップする必要があります。