操作に対するさまざまな処理

<< 目次を表示 >>

ページ位置:  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;

                    }

                }

            }

        }

    }