Image may be NSFW.
Clik here to view.
Clik here to view.

Imagine that you have a service, which receives requests to execute specific methods, possibly from a number of different underlying libraries that you don’t want to expose directly. Possible examples are web services. The request comes in as a number of string values (method name, parameters etc.) and you need to respond with results.
So you have inherited a project with API that starts with a method:
object Invoke(string methodName, object[] parameters);
You now have to call variety o...