public static void Main(string[] args) { Type ty = Type.GetType("P"); MethodInfo mfst = ty.GetMethod("fst"); // DumpMethod(mfst); MethodInfo mfstsi = mfst.BindGenericParameters(new Type[] { typeof(string), typeof(int) }); DumpMethod(mfstsi); Console.WriteLine(mfstsi.Invoke(null, new object[] { "My string", (object)57 })); MethodInfo mfstls = mfst.BindGenericParameters(new Type[] { typeof(long), typeof(string) }); DumpMethod(mfstls); Console.WriteLine(mfstls.Invoke(null, new object[] { (object)12345678987654321L, "My string" })); }