using System.Collections.Generic;
public static class GenericCall
public static void ProcessValue<T>(T inputValue)
Console.Write(typeof(T).Name);
Console.WriteLine(inputValue);
public static void Main()
var dict = new Dictionary<string, object>
{"System.String", "objectID"},
{"System.Boolean", false}
var processValueMethod = typeof(GenericCall).GetMethod("ProcessValue");
foreach (var entry in dict)
var t = Type.GetType(entry.Key);
MethodInfo method = processValueMethod.MakeGenericMethod(t);
method.Invoke(null, new []{entry.Value});