メッセージを取得する
シーケンス図からすべてのメッセージを取得する
すべてのメッセージを取得するにはISequenceDiagramオブジェクトのMessagesプロパティを用います。
public void GetMessages(ICommandContext c, ICommandParams p)
{
    ISequenceDiagram sequenceDiagram = c.App.Workspace.CurrentEditor as ISequenceDiagram;
    if (sequenceDiagram == null) return;
    // メッセージを取得します
    IMessageShapeCollection messages = sequenceDiagram.Messages;
    var no = 1;
    foreach (IMessageShape message in messages)
    {
        c.App.Output.WriteLine("sample", $"{no}つ目のメッセージ : {message.Text}");
        no++;
    }
}
特定のライフラインからの送信メッセージを取得する
特定のライフラインからの送信メッセージを取得する例です。
public void GetSendMessages(ICommandContext c, ICommandParams p)
{
    ISequenceDiagram sequenceDiagram = c.App.Workspace.CurrentEditor as ISequenceDiagram;
    if (sequenceDiagram == null) return;
    // 選択されたライフラインが持つ実行仕様から送信メッセージを取得します
    ILifelineShape lifeline = sequenceDiagram.GetSelectedShapes().FirstOrDefault() as ILifelineShape;
    IMessageShapeCollection sendMessages = lifeline.ExecutionSpecifications.SelectMany(ec => ec.SendMessages);
    c.App.Output.WriteLine("sample", $"ライフライン : {lifeline.Text} の送信メッセージ");
    var no = 1;
    foreach (IMessageShape sendMessage in sendMessages)
    {
        c.App.Output.WriteLine("sample", $"  {no}つ目の送信メッセージ : {sendMessage.Text}");
        no++;
    }
}