Example:

var list = new List<KeyValuePair<string, decimal>>();
myClass.GenericMethod<typeof(list)>(list);

I'm pretty sure C++11 had something like this, why doesn't C# have it?