Exemplo n.º 1
0
 public void CheckTypeOfMethodByNameTest(object obj, string methodName)
 {
     try
     {
         //Parameters
         Assert.IsTrue(Latebind.CheckTypeOfMethodByName(obj, methodName));
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.StackTrace);
         throw;
     }
 }
Exemplo n.º 2
0
        /// <summary>キーイベント</summary>
        private void Form_CMNEventHandler(object sender, EventArgs e)
        {
            // メソッド名
            string methodName = "UOC_Form_";
            // イベント名
            string eventName = ""; // ((Control)sender).Name + "_";

            // イベントを識別

            if (e is KeyEventArgs)
            {
                string       temp = "";
                KeyEventArgs kea  = (KeyEventArgs)e;

                if (this._eventID == "KeyDown")
                {
                    // KeyDownイベント
                    if (kea.KeyCode == Keys.Enter)
                    {
                        temp = "Enter";
                    }
                    else if (kea.KeyCode == Keys.F1)
                    {
                        temp = "F1";
                    }
                    else if (kea.KeyCode == Keys.F2)
                    {
                        temp = "F2";
                    }
                    else if (kea.KeyCode == Keys.F3)
                    {
                        temp = "F3";
                    }
                    else if (kea.KeyCode == Keys.F4)
                    {
                        if (kea.Alt)
                        {
                            temp = "AltAndF4";
                        }
                        else
                        {
                            temp = "F4";
                        }
                    }
                    else if (kea.KeyCode == Keys.F5)
                    {
                        temp = "F5";
                    }
                    else if (kea.KeyCode == Keys.F6)
                    {
                        temp = "F6";
                    }
                    else if (kea.KeyCode == Keys.F7)
                    {
                        temp = "F7";
                    }
                    else if (kea.KeyCode == Keys.F8)
                    {
                        temp = "F8";
                    }
                    else if (kea.KeyCode == Keys.F9)
                    {
                        temp = "F9";
                    }
                    else if (kea.KeyCode == Keys.F10)
                    {
                        temp = "F10";
                    }
                    else if (kea.KeyCode == Keys.F11)
                    {
                        temp = "F11";
                    }
                    else if (kea.KeyCode == Keys.F12)
                    {
                        temp = "F12";
                    }
                }
                else if (this._eventID == "KeyPress")
                {
                }
                else if (this._eventID == "KeyUp")
                {
                }

                // イベント名を指定
                eventName += temp + "_" + this._eventID;
                // メソッド名を指定
                methodName += temp + "_" + this._eventID;
            }
            else if (e is FormClosingEventArgs)
            {
                // FormClosingイベント

                // イベント名を指定
                eventName += "Closing";
                // メソッド名を指定
                methodName += "Closing";
            }
            //else if (e is xxx) { }

            // イベント実行
            if (Latebind.CheckTypeOfMethodByName(this, methodName))
            {
                // イベント引数の作成
                RcFxEventArgs rcFxEventArgs =
                    new RcFxEventArgs(eventName, methodName, sender, e);

                try
                {
                    // 開始処理を実行する。
                    this.UOC_PreAction(rcFxEventArgs);

                    // イベント処理を実行する。
                    Latebind.InvokeMethod_NoErr(this, methodName, new object[] { rcFxEventArgs });

                    // 終了処理を実行する。
                    this.UOC_AfterAction(rcFxEventArgs);
                }
                catch (BusinessApplicationException baEx)
                {
                    // アプリケーション例外発生時の処理を実行する。
                    this.UOC_ABEND(baEx, rcFxEventArgs);

                    // アプリケーション例外はリスローしない。
                }
                catch (BusinessSystemException bsEx)
                {
                    // システム例外発生時の処理を実行する。
                    this.UOC_ABEND(bsEx, rcFxEventArgs);

                    // システム例外はリスローする。
                    throw;
                }
                catch (Exception ex)
                {
                    // 一般的な例外発生時の処理を実行する。
                    this.UOC_ABEND(ex, rcFxEventArgs);

                    // 一般的な例外はリスローする。
                    throw;
                }
                finally
                {
                    // Finally節のUOCメソッド
                    this.UOC_Finally(rcFxEventArgs);
                }
            }
        }