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

ポートの情報を取得する

ダイアグラムのノードシェイプにおけるポートは、IDiagramから取得するINodeオブジェクトのPortsプロパティでアクセスできます。

ノードの各ポートにアクセスする

ダイアグラムの選択されているノードシェイプのポートを列挙する例です。

public void EnumeratePorts(ICommandContext c, ICommandParams p)
{
IDiagram diagram = c.App.Workspace.CurrentEditor as IDiagram;
if (diagram == null) return;

// 選択されているノードを取得します
var nodes = diagram.GetSelectedShapes().OfType<INode>();

// ノードごとに処理をします
foreach (INode node in nodes)
{
c.App.Output.WriteLine("sample", $"ノードのモデル : {node.Model.Name}");

// ノードの持つポートごとに処理をします
foreach (IPort port in node.Ports)
{
c.App.Output.WriteLine("sample", $" ポートのモデル : {port.Model.Name}");
}
}
}