int val = 13;
var key = (System.Windows.Forms.Keys)val;
string str = key.ToString();
var mi = Engine.GetType().GetMethod("RegisterType"); // хотя, этот тип уж точно известен), лучше typeof
foreach (var type in types)
mi.MakeGenericMethod(new[] { type }).Invoke(null, null);