摘要: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();
}
}