How to invoke static method in C#4.0 with dynamic type?
- by Morgan Cheng
In C#4.0, we have dynamic type, but how to invoke static method of dynamic type object?
Below code will generate exception at run time.
class Foo
{
public static int Sum(int x, int y)
{
return x + y;
}
}
class Program
{
static void Main(string[] args)
{
dynamic d = new Foo();
Console.WriteLine(d.Sum(1, 3));
}
}
IMHO, dynamic is invented to bridge C# and other programming language. There is some other language (e.g. Java) allows to invoke static method through object instead of type.
BTW, The introduction of C#4.0 is not so impressive compared to C#3.0.