Нечетное изменение поведения с комбинацией var, dynamic и linq

Я (лениво) использовалvar в исходной версии кода ниже и получил странное исключение во время выполнения в совершенно другой части кода. Меняетсявар» к "ИНТ» исправлено исключение времени выполнения, но я не могу понять, почему. Я свел код к этому примеру;

public class Program
{
    private static List Test(string i) { return new List {i}; }
    private static dynamic GetD() { return 1; }

    public static void Main()
    {
        int value1 = GetD();   // 

Ответы на вопрос(3)

Ваш ответ на вопрос