Во что скомпилированы лямбда-выражения C #? Фрейм стека, экземпляр анонимного типа или?

Во что скомпилированы лямбда-выражения C #? Фрейм стека, экземпляр анонимного типа или?

Я читал этот вопрос . Что в основном отвечает «почему» вы не можете использовать лямбда, когда также используете функции неявного типа. Но этот вопрос направлен на то, чтобы ответить на вопрос, какую конструкцию создает компилятор для фактического выполнения кода лямбды. Является ли это вызовом метода анонимного типа (что-то вроде анонимных типов, реализующих интерфейс в Java?) Или это просто стековый фрейм со ссылками на закрытые переменные и принятие сигнатуры параметра? Некоторые лямбды ничего не закрывают - так что есть два разных результата компиляции.

15
задан Community 23 May 2017 в 12:25
поделиться