UML から C# への変換で変換される UML 要素

この変換によって変換される C# 要素は、ソースの UML 要素とその特性によって決まります。

以下の表には、どの UML 要素がどの C# 要素に変換されるかが示されています。

UML 要素 C# 要素
モデル C# プロジェクト
マッピング・モデル内のパッケージ C# プロジェクト内の同じ名前のフォルダー
モデル内のパッケージ C# 名前空間
«analysis» キーワードまたは «Analysis» キーワードを持つモデルのパッケージ 無視
属性 C# フィールド
«CSharp Field» の属性 C# フィールド
«CSharp Event» ステレオタイプがある属性 C# イベント

ステレオタイプ «CSharp Event» には、イベントにアクセサー (追加および除去) が指定されているかどうかを示す、boolean プロパティーの accessors があります。 TRUE の値は、追加および除去のアクセサーが明示的に指定されていることを示し、FALSE の値は、イベント・アクセサーが暗黙的であることを示しています。

«CSharp Property» ステレオタイプがある属性 型が Stringfield_name 属性がある、C# プロパティー・クラス・メンバー。
«CSharp Property» ステレオタイプがあり、 ステレオタイプのアクセサー・プロパティーが auto に設定されている属性 C# の自動実装プロパティー

プロパティー・クラス・メンバーには、 get アクセサーと set アクセサーの両方があり、 本文ブロックはありません。

クラス 同じ名前および可視性がある C# クラス
«CSharp Delegate» ステレオタイプがあるクラス C# 委譲

呼び出しメソッドおよびそのシグニチャーは、その UML クラス内の UML 操作を使用してマップされます。 この操作の名前は、“invoke()”です。

«CSharp Struct» ステレオタイプがあるクラス C# 構造体
«CSharp Partial» ステレオタイプがあり、クラス間に 依存関係がある 2 つのクラス C# 部分クラス
2 つ以上の従属クラスがあるクラス。 最初のクラスの依存関係には «CSharp Partial» ステレオタイプがあります。 同じ名前の独立したそれぞれの従属クラスに操作が存在します。 1 つは «CSharpPartialDeclaration» ステレオタイプ、もう 1 つは «CSharp PartialDefinition» ステレオタイプのものです C# 部分メソッド

2 つの部分実装のあるクラスが作成されます。 «CSharpPartialDeclaration» ステレオタイプの操作を含む部分パートには、 メソッド宣言がありますが、メソッド本文はありません。«CSharpPartialDefinition» の操作を含む部分パートには、 メソッドとその本文があります。

汎化関係があるクラス C# クラスが指定されたスーパークラスを拡張します
実装 C# クラスが指定されたインターフェースを実装します
クラスとインターフェース間の実現関係 C# クラスが、テンプレート・インターフェースを含む、指定されたインターフェースを実装します。変換は、 実装されたインターフェースからメソッド、プロパティー、イベント、インデクサーのコードをクラス内に生成します
インターフェース 同じ名前および可視性がある C# インターフェース
汎化関係を持つインターフェース C# インターフェースにより、指定されたインターフェースが拡張されます
列挙 デフォルトの基となる型 "int" があり、定数式を持つ列挙メンバーがない、同じ名前の C# 列挙型
列挙型リテラル 同じ名前および可視性がある C# フィールド
操作 同じ名前および可視性がある C# メソッド
名前に「implicit/explicit operator」または「operator」、および記号がある操作 C# 演算子
操作の名前は、以下のいずれかです。
  • 単項または 2 項演算定義の場合は、operator unary_or_binary_operator_symbol です。 このような操作の戻り値の型は、単項/2 項演算子で戻される結果の型です。
  • 暗黙的または明示的演算子の場合は、implicit operator または explicit operator です。 このような操作の戻り値の型は、変換のターゲット型になります。 変換のソース・タイプは、UML パラメーター・タイプです。
isStatic プロパティーを持つ操作 true の場合、C# メソッドは static となります。
isAbstract プロパティーを持つ操作 true の場合、C# メソッドは abstract となります。
isVirtual プロパティーがある操作 true の場合、C# メソッドは virtual となります。
クラスと同一の名前を持つ操作 C# コンストラクター
"~" およびそのクラスと同じ名前がある操作 C# デストラクター
«CSharp Indexer» ステレオタイプがある操作 C# インデクサー

インデクサーの仮パラメーター・リストは、UML 操作の仮パラメーターとして表されます。

isStatic プロパティーと «CSharp ExtensionMethod» ステレオタイプがある操作

操作は、 «CSharp Class» ステレオタイプがあるクラスのメンバーで、ステレオタイプの static プロパティーが True に設定されている必要があります。

C# 拡張メソッド

this と呼ばれる修飾子が 操作の最初のパラメーターに適用されます。

Boolean、整数、文字列、および UnlimitedNatural の各型 Boolean、Int32、文字列、および UInt32 の各型
注:

名前にピリオドが含まれているモデル内の UML パッケージは、名前に下線が含まれた C# の名前空間に変換されます。 この変換の動作により、包含する要素に対して単一の名前空間が保持されます。 例えば、UML フォルダー com.ibm.samples に C1 という名前のクラスが含まれているとします。 UML から C# への変換を適用すると、UML クラス C1 を表す C# の成果物は、以下の名前空間で宣言されます。

namespace com_ibm_samples

フィードバック