<< 目次を表示 >> ページ位置: API・アドイン・スクリプト > API > サンプルコード > 操作に対するさまざまな処理 |
class MethodOperationSample
{
public void MethodLifeCycle(EA.Repository repository)
{
// IDを指定して要素を取得
EA.Element element = repository.GetElementByID(10);
// 要素の操作を順次取得
foreach (EA.Method method in element.Methods)
{
Console.WriteLine(method.Name);
// 操作に事前条件を追加し、追加した事前条件を削除
EA.MethodConstraint newPreCondition = (EA.MethodConstraint)method.PreConditions.AddNew("TestConstraint", "something");
newPreCondition.Update();
method.PreConditions.Refresh();
for (short i = 0; i < method.PreConditions.Count; i++)
{
EA.MethodConstraint preCondition = method.PreConditions.GetAt(i);
Console.WriteLine("PreConditions: " + preCondition.Name);
if (preCondition.Name == "TestConstraint")
{
method.PreConditions.DeleteAt(i, true);
break;
}
}
// 操作に事後条件を追加し、追加した事後条件を削除
EA.MethodConstraint newPostCondition = (EA.MethodConstraint)method.PostConditions.AddNew("TestConstraint", "something");
newPostCondition.Update();
method.PostConditions.Refresh();
for (short i = 0; i < method.PostConditions.Count; i++)
{
EA.MethodConstraint postCondition = method.PostConditions.GetAt(i);
Console.WriteLine("PostConditions: " + postCondition.Name);
if (postCondition.Name == "TestConstraint")
{
method.PostConditions.DeleteAt(i, false);
break;
}
}
// 操作にタグ付き値を追加し、追加したタグ付き値を削除
EA.MethodTag newMethodTag = (EA.MethodTag)method.TaggedValues.AddNew("TestTaggedValue", "something");
newMethodTag.Update();
method.TaggedValues.Refresh();
for (short i = 0; i < method.TaggedValues.Count; i++)
{
EA.MethodTag methodTag = method.TaggedValues.GetAt(i);
Console.WriteLine("Tagged Value: " + methodTag.Name);
if (methodTag.Name == "TestTaggedValue")
{
method.TaggedValues.DeleteAt(i, true);
break;
}
}
// 操作にパラメータを追加し、追加したパラメータを削除
EA.Parameter newParameter = (EA.Parameter)method.Parameters.AddNew("TestParam", "string");
newParameter.Update();
method.Parameters.Refresh();
for (short i = 0; i < method.Parameters.Count; i++)
{
EA.Parameter parameter = method.Parameters.GetAt(i);
Console.WriteLine("Parameter: " + parameter.Name);
if (parameter.Name == "TestParam")
{
method.Parameters.DeleteAt(i, true);
break;
}
}
}
}
}