Send a string (with a byte prefix of its length) of the method namespace and name, that should do it.
Server.Invoke("MyNameSpace.StaticClass.Foo");
Or, for parameters, make it a "params object[] parameters", get the type of the object, send the length of the array, etc. etc. Could all be relatively easily done, but I highly discourage it. If someone does any packet editing, he will be able to call any private function on the server.