private void function2(string FirstName, string LastName) { Console.WriteLine("function 2"); IEnumerable <MethodBase> methods = TraceBuilder.Build(); bool wasFirst = false; Console.WriteLine(); Console.WriteLine("Trace stack:"); foreach (var method in methods) { if (!wasFirst) { wasFirst = method.Name == LastName; } if (wasFirst) { ParameterInfo[] parameters = method.GetParameters(); Console.WriteLine("Function: " + method.Name); Console.Write("Parameters: "); for (int i = 0; i < parameters.Length; i++) { if (i > 0) { Console.Write(", "); } Console.Write(string.Format("\t{0}: {1}", parameters[i].Name, parameters[i].ParameterType.ToString())); } Console.WriteLine(); } if (method.Name == FirstName) { break; } } }