jump to navigation

memo 2013/04/29

Posted by dbot in C#のメモ, MMDのメモ.
Tags: , ,
trackback

試してみるのが一番

———————————————–
throw文で関数ブロックを抜ける。
下の記述でもパラメータのエラーを検出して、更新しない。
———————————————–

        /// <summary>
        /// ボーン名称の変更を行う。
        /// </summary>
        /// <param name="BoneName"></param>
        /// <param name="ToName"></param>
        public void RenameBone(string BoneName, string ToName)
        {
            int i = this.GetBoneIndex(BoneName);
            int j = this.GetBoneIndex(ToName);
            if (i >= 0)
            {
                if (j == -1)
                {
                    IPXBone bone = this.PMX.Bone[i];
                    bone.Name = ToName;
                }
                else
                {
                    throw new System.Exception(ToName + "と同一名称のボーンがあるので名前の変更は行いません。");
                }
            }
            else
            {
                throw new System.Exception(BoneName + "が存在しません。");
            }
        }

———————————————–
自分的にすっきり記述
———————————————–

        /// <summary>
        /// ボーン名称の変更を行う。
        /// </summary>
        /// <param name="BoneName"></param>
        /// <param name="ToName"></param>
        public void RenameBoneX(string BoneName, string ToName)
        {
            int i = this.GetBoneIndex(BoneName);
            if (i >= 0)
            {            }
            else
            {
                throw new System.Exception(BoneName + "が存在しません。");
            }
            int j = this.GetBoneIndex(ToName);
            if (j == -1)
             {                }
             else
             {
                 throw new System.Exception(ToName + "と同一名称のボーンがあるので名前の変更は行いません。");
             }
            IPXBone bone = this.PMX.Bone[i];
            bone.Name = ToName;
        }

 

———————————————–
if文の階層が深いのは、パラメータエラーの時に更新しないためだと思ってた。

———————————————–

広告

コメント»

No comments yet — be the first.

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。