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

モデルにタグ付き値を追加する

モデルにタグ付き値を追加する場合は、IModelオブジェクトのSetTagメソッドを用います。IModelIObjectを継承しているため、IObject.SetTagメソッドを呼び出せます。 タグを追加することで、設定されている値やプロファイルに依存することなくモデルを取得できます。

tips

モデルのクラスに対してタグ付き値を追加しているのではないため、インスペクタ上からモデルに追加されたタグ付き値を確認することはできません。

public void SetTag(ICommandContext c, ICommandParams p)
{
// 現在表示しているモデルを取得します
IModel model = c.App.Workspace.CurrentModel;

// モデルに対しタグを追加します
model.SetTag("SomeTag", "SomeValue");
ITag tag = model.GetTag("SomeTag");
c.App.Workspace.Output.WriteLine("sample", $"タグが存在するか: {tag != null}");
c.App.Workspace.Output.WriteLine("sample", $" Key: {tag.Key}");
c.App.Workspace.Output.WriteLine("sample", $" Value: {tag.Value}");

// 既に存在するタグ名を指定することでタグ値を更新することができます
model.SetTag("SomeTag", "SomeValue_Update");
tag = model.GetTag("SomeTag");
c.App.Workspace.Output.WriteLine("sample", $"タグが存在するか: {tag != null}");
c.App.Workspace.Output.WriteLine("sample", $" Key: {tag.Key}");
c.App.Workspace.Output.WriteLine("sample", $" Value: {tag.Value}");

// タグを削除します
model.RemoveTag("SomeTag");
tag = model.GetTag("SomeTag");
c.App.Workspace.Output.WriteLine("sample", $"タグが存在するか: {tag != null}");
}