public static object Invoke(object target, string name, object[] args) { var dispatcher = GetDispatcher(target, args, name, () => CreateMethodDispatcher(target, name, args)); return dispatcher(target, args); }