モデルにタグ付き値を追加する
モデルにタグ付き値を追加する場合は、IModel
オブジェクトのSetTag
メソッドを用います。IModel
はIObject
を継承しているため、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}");
}