ステレオタイプは拡張のメカニズムであり、UML の用語を拡張し、より具体的な意味を C# クラスおよびその他の要素に与えます。
以下の表には、クラス図における C# 要素と UML 要素との間のマッピングが要約されています。
| .NET 要素 | UML 要素 |
|---|---|
| ファイル | «C# File» または «.NET Assembly File» ステレオタイプの成果物。 |
| フォルダー | «C# Folder» ステレオタイプの成果物。 |
| 名前空間 | «C# Namespace» ステレオタイプおよび名前空間アイコンがあるパッケージ。 |
| クラス | «C# Class» ステレオタイプのクラス。 |
| 列挙型 | 列挙 («C# enumeration» ステレオタイプの有無は無関係)。 |
| 構造体 | «C# Struct» ステレオタイプおよびクラス・アイコンがあるクラス。 |
| インターフェース | インターフェース・アイコンがあるインターフェース。 |
| 部分クラス | «C# Partial Class» ステレオタイプのクラス。 |
| 部分インターフェース | «C# Partial Interface» ステレオタイプのインターフェース。 |
| 委譲 | «C# Delegate» ステレオタイプのクラス。呼び出しメソッドおよびそのシグニチャーは、このクラス内の UML 操作を使用してマップされます。 この操作の名前はクラスと同じです。 そのシグニチャーは委譲のシグニチャーです。 デフォルトで、この委譲クラスは、System.Delegate または System.MultiCastDelegate から派生します。 |
| メンバー・フィールド | プロパティー。
ユーザー設定に応じて、非基本タイプの関連も作成されます。
このダイアグラムでは、明示的に作成する必要のない関連のプロパティー表示をサポートしています。
ユーザー設定に応じて、Eclipse アイコンまたは UML 可視性アイコンが表示されます。 |
| イベント | これは、メンバー・フィールドと同様にモデル化されますが、«C# Event» ステレオタイプが付けられます。 |
| インデクサー | これは、メンバー・フィールドと同様にモデル化されますが、«C# Indexer» ステレオタイプが付けられます。 |
| プロパティー | これは、メンバー・フィールドと同様にモデル化されますが、«C# Property» ステレオタイプが付けられます。 各プロパティーには、«get» および «set» ステレオタイプを使用して操作として明示的にモデル化可能なアクセサーがあります。 |
| メソッド | 操作。
ユーザー設定に応じて、Eclipse アイコンまたは UML 可視アイコンが表示されます。 注: C# 静的メソッドは可視化できますが、ダイアグラムに追加することはできません。
|
|
|
| 属性 | «C# Attribute» ステレオタイプのクラス。
これには、使用文字列に設定する必要があるプロパティー“AttributeUsage”が付けられます。
属性は、各属性ターゲットの対応する UML 要素の文書ビュー内で、自由形式のテキストで指定されます。 大括弧“[]”に入れた完全な文字列が文書ビューで指定されます。 有効な属性のターゲットは、アセンブリー、イベント、フィールド、メソッド、パラメーター、プロパティー、戻り値の型、型変数です。 |
| Generics | Generics は、UML テンプレート・パラメーターにマップされます。 クラス、構造体、インターフェース、およびメソッドがパラメーター化できます。 これらはそれぞれ、パラメーター化 UML クラス、«struct» ステレオタイプのパラメーター化 UML クラス、パラメーター化 UML インターフェース、およびパラメーター化 UML 操作にマップされます。 |
| ヌル可能タイプ | 定義済みタイプのヌル可能タイプは、同じ名前の UML 基本タイプにマップされます。 その他の値タイプのヌル可能タイプは、«nullable» ステレオタイプが適用された UML クラスにマップされ、基本値タイプ、およびその UML クラスから基本値タイプを表す UML タイプに存在する UML 置換関係として名前付けされます。 |
| アクセシビリティー (public、private、protected、internal、 protected internal) | クラス、属性、および操作の場合、アクセシビリティーは同じ名前の可視性またはキーワード・プロパティーにマップされます。 |
.NET アセンブリーからの名前空間。
C# ファイルからの名前空間。