メインコンテンツまでスキップ

複合フラグメントとオペランドを取得する

複合フラグメントを取得するにはISequenceDiagramオブジェクトのFragmentsプロパティを用います。また、オペランドを取得するにはIFragmentShapeオブジェクトのOperandsプロパティを用います。

public void GetFragments(ICommandContext c, ICommandParams p)
{
ISequenceDiagram sequenceDiagram = c.App.Workspace.CurrentEditor as ISequenceDiagram;
if (sequenceDiagram == null) return;

// 複合フラグメントを取得します
var fragments = sequenceDiagram.Fragments;

var no = 1;
foreach (IFragmentShape fragment in fragments)
{
c.App.Output.WriteLine("sample", $"{no}つ目の複合フラグメント : {fragment.Text}");
no++;

// オペランドを取得します
var operands = fragment.Operands;

foreach (IOperandShape operand in operands)
{
c.App.Output.WriteLine("sample", $" オペランド : {operand.Guard}");
}
}
}
モデルに関して

複合フラグメント、オペランドのモデルに関しては、専用の型を提供していないため、IModel型で操作する必要があります。