Почему я не могу использовать динамический параметр в методе расширения, как в следующем коде:
public static class Extension
{
public static void ExtMethod(this Program pg, object asdf) {
new Program();
}
}
public class Program
{
static void Main(string[] args)
{
dynamic d = new ExpandoObject();
d.test = "test";
new Program().ExtMethod(d.test);
Extension.ExtMethod(new Program(), d.test);
}
}
new Program().ExtMethod(d.test);
вызывает ошибку времени компиляции.
Но Extension.ExtMethod(new Program(), d.test);
не вызывает никаких ошибок.