掲示板一覧   -   トピック一覧
   EA API
     シーケンス図の要素の名前の取得


フラット表示 前のトピック | 次のトピック
投稿者 トピック
tkouno
投稿日時: 2009-10-22 10:58
EA Administrator
投稿: 3939

シーケンス図の要素の名前の取得

○ご質問

シーケンス図に対して、クラスを「インスタンスとして」
貼り付けた場合に、要素の名前を取得することができません。

「リンクとして」の場合には、以下の方法で名前を取得できます。

diagramObject = Diagram.DiagramObjects.GetAt(0)
element = Repository.GetElementByID(diagramObject.ElementID)
element.Name → 名前

○回答

ご指摘の「要素のインスタンスとして」で貼り付けた場合には
新規にオブジェクト(ライフライン)が作成され、その名前は
空になっています。ですので、名前が取得できないという挙動は
正しい動作になります。

Enterprise Architectで対象の要素をダブルクリックして
プロパティ画面を確認すると、名前の欄が空になっていることが
確認できるかと思います。また、この欄に文字列を入れることで
「リンクとして」と同じコードで名前が取得できることが
ご確認いただけるかと思います。


「要素のインスタンスとして」で、シーケンス図に表示されている名前は
その要素の「分類子」の名前です。ですので、この名前を
取得するためには、

diagramObject = Diagram.DiagramObjects.GetAt(0)
element = Repository.GetElementByID(diagramObject.ElementID)
classifier = Repository.GetElementByID(element.ClassifierID)
classifier.Name → 名前

となります。
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
 » シーケンス図の要素の名前の取得 tkouno 2009-10-22 10:58