モデルを削除する
モデルの削除を行うにはIModel
オブジェクトのDelete
メソッドを呼び出します。
public void DeleteModel(ICommandContext c, ICommandParams p)
{
IModel model = c.App.Workspace.CurrentModel;
// モデルを削除します
model.Delete();
}
子要素が所有関係の場合は、次のようにIModel
オブジェクトのRemoveField
メソッドでも削除できます。参照の場合は単に参照関係を削除します。
public void RemoveField(ICommandContext c, ICommandParams p)
{
// プロジェクトにモデルを作成します
var ucModel = c.App.Workspace.CurrentProject.AddNewRootModel("UseCaseModel");
// ユースケースを作成します
IModel uc = ucModel.AddNewModel("UseCases", "UseCase");
// ユースケースにシナリオを追加します
IModel scenario = uc.AddNewModel("Scenarios", "Scenario");
c.App.Output.WriteLine("sample", $"Scenario: {scenario.Name}");
// シナリオを削除します
uc.RemoveField("Scenarios", scenario);
c.App.Output.WriteLine("sample", $"Scenario IsDeleted: {scenario.IsDeleted}");
}
注意
参照のフィールドに対してIModel.RemoveField
メソッドを用いた場合、参照の関連が削除されるだけで関連先のモデルが削除されることはありません。