Single threaded dispatcher using reflection

This is Single threaded version of dispatcher where I have used reflection. I've implemented Multi-threaded version too,but I am not able to use reflection over there.
We don't have to call the "ToLower" method twice on extension do we? Can we call it once, store in a temp variable and then use that?

Also dictionary has a "TryGetValue" method, explore that, using contains key and then getting it via the indexer basically works to find the value twice.