1 using System;
2 using System.Reflection;
3
4 namespace DynamicCall
5 {
6 class Program
7 {
8 static void Main(string[] args)
9 {
10 Console.WriteLine("Hello World!");
11 Program p = new Program();
12 var ti = p.GetType().GetTypeInfo();
13 var mtd = ti.GetMethod("Get");
14
15 Console.WriteLine(mtd?.ToString() ?? "no get method.");
16
17 var genMethod = mtd.MakeGenericMethod(typeof(int));
18
19 var obj = genMethod.Invoke(p, new object[] { });
20
21 Console.WriteLine(obj?.ToString() ?? "no get result.");
22
23 Console.ReadLine();
24 }
25
26 public string Get<T>()
27 {
28 return typeof(T).FullName;
29 }
30 }
31 }