public static void ThreadRun(string typeName, string methodName, ThreadControl tc, Object instance = null, object[] parameters = null) { List <object> p = new List <object>(); if (parameters != null) { p.AddRange(parameters); } p.Add(tc); tc.BeforeExecute(); //try //{ Type.GetType(typeName).GetMethod(methodName).Invoke(instance, p.ToArray()); //} //catch (Exception e) //{ // Console.WriteLine("EXCEPTION EXCEPTION EXCEPTION EXCEPTION EXCEPTION EXCEPTION"); // Console.WriteLine(e.Message); //} tc.AfterExecute(); }