摘要:Dynamic範例
static void Dynamic() { //不用Dynamic時,需要用反射才能得知目標 object o = Calculator.GetCalculator(); Type t = o.GetType(); object t1 = t.InvokeMember("Add", BindingFlags.Default | BindingFlags.InvokeMethod, null, o, new object[] { 10, 20 }); Console.WriteLine(t1); //使用dynamic dynamic calc = Calculator.GetCalculator(); int r = calc.Add(2, 3); //注意,這裡的Add沒有intellisense的功能 Console.WriteLine(r); }
class Calculator { public int Add(int a, int b) { return a + b; } public static object GetCalculator() { return new Calculator(); } }