下面invoke方法的作用是什么啊,InvokeMember又是怎么用的呢,谢谢高手指点```
#region ファンクションキー押下イベント
private void ucFunctionKey_FunctionKeyPress(object sender, GrapeCity.Win.Input.FunctionKeyPressEventArgs e)
        {
// 各キーの処理
switch (e.KeyIndex)
{

case 3: // F4 前画面
this.Close();
break;
case 4:
        if ( e.Shift )
      {
// Shift+F5 詳細
invoke("DetailFormRun");
     }
    else
    {
// F5 検索
invoke("SearchFormRun");
    }
break;
default:
break;
}
}
#endregion #region invokeメソッド
/// <summary>
/// 親のFormのメソッドを呼び出す。
/// </summary>
/// <param name="methodName">親に実装されているメソッド名</param>
/// <returns></returns>
private object invoke(string methodName)
{
if (!(this is IEnableFunctionKeys)) return null;

Form f = (Form)this;
Type t = f.GetType();
          
return t.InvokeMember(methodName,
BindingFlags.InvokeMethod,
null,
f,
new object[] {});

}
#endregion

解决方案 »

  1.   

    to 下面invoke方法的作用是什么啊,InvokeMember又是怎么用的呢两者涉及的领域不同前者是在自己线程上进行处理某个方法;后者是用于反射。
      

  2.   

    那上面写的invoke方法的作用是什么呢?
    比如:// F5 検索 invoke("SearchFormRun");在F5压下时调用SearchFormRun()方法
    我不知道为什么要通过invoke("SearchFormRun")这种方式,而不直接用SearchFormRun()调呢。
    很迷惑哈,请高手帮忙解答!
      

  3.   

    to 那上面写的invoke方法的作用是什么呢?那是在教你怎麼用反射呢,怎麼動態加載方法.這種方法隻在大型復雜項目中會體現動態加載的優勢,小項目是體現不出來的。
      

  4.   

    To : tjvictor(初学者) noding.....^^