У меня был запрос относительно того, как оцениваются типы параметров в лямбда-выражении.
Если мы запрашиваем IEnumerable типа Customer и имеем такое утверждение, как Customers.Where (c => c.City == "London"), c имеет тип Customer.
В HTML Helpers, используемых в ASP.NET MVC 3, если у нас есть оператор типа Html.TextBoxFor (c => c.Foo) в строго типизированном представлении, c имеет тип, к которому привязано представление.
Что я не понимаю, так это то, как компилятор и визуальная студия intellisense узнают тип параметров в лямбде.В документации MSDN сказано, что «компилятор может вывести тип на основе лямбда-тела, базового типа делегата и других факторов, как описано в спецификации языка C #».Однако я не понимаю, как лямбда-тело или тип делегата позволяют компилятору определять тип данных параметра.
Cheers,