延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/
發布: 2008-9-25 10:20 | 作者: 不詳 | 來源: 測試時代 采編 | 查看: 107次 | 進入軟件測試論壇討論
/// 運行實例方法 /// </summary> /// <param name="t"></param> /// <param name="strMethod"></param> /// <param name="objInstance"></param> /// <param name="aobjParams"></param> /// <returns></returns> public static object RunInstanceMethod(System.Type t, string strMethod, object objInstance, object[] aobjParams) { BindingFlags eFlags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic; return RunMethod(t, strMethod, objInstance, aobjParams, eFlags); } /// <summary> /// 運行自定義方法 /// </summary> /// <param name="t"></param> /// <param name="strMethod"></param> /// <param name="objInstance"></param> /// <param name="aobjParams"></param> /// <param name="eFlags"></param> /// <returns></returns> private static object RunMethod(System.Type t, string strMethod, object objInstance, object[] aobjParams, BindingFlags eFlags) { MethodInfo m; try { m = t.GetMethod(strMethod, eFlags); if (m == null) { throw new ArgumentException("There is no method '" + strMethod + "' for type '" + t.ToString() + "'."); } object objRet = m.Invoke(objInstance, aobjParams); return objRet; } catch { throw; } } } // end of class } // end of namespace