複合フラグメントとオペランドを取得する
複合フラグメントを取得するには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
型で操作する必要があります。