I wrote this extension method :
public static class A
{
public static IEnumerable AsDynamic(this IEnumerable f)
{
By design, runtime bindings behave as similarly as possible to static binding.
So the runtime type would betypeof (IEnumerable
The static type would be typeof (IEnumerable
Also
The runtime treats this true conceptually
typeof(object)==typeof(dynamic)
So,
A dynamic type is like object except it lets you use in ways that aren't known at compile time.