Возможно, необходимо считать это:
http://neosmart.net/wiki/display/EBCD/Ubuntu и запускают от "Добавляющей Ubuntu до Windows Bootloader" часть.
Это работало на меня.
Вероятно, нет, потому что лямбда - это больше, чем просто выражение в исходном коде. лямбда-выражения также создают замыкания, которые захватывают / поднимают переменные в свои собственные скрытые классы. Программа модифицируется компилятором, поэтому везде, где вы используете эти переменные, вы фактически разговариваете с классом. Таким образом, вам придется передавать не только код лямбда-выражения, но и любые изменения закрывающих переменных с течением времени.
Я не совсем понял, в чем именно проблема, которую вы пытаетесь решить, но в прошлом я сделал компонент, который может ее решить.
По сути, его целью было создание Лямбда-выражение из строки
. Он использует отдельный AppDomain
для запуска компилятора CodeDOM. IL скомпилированного метода сериализуется в исходный AppDomain
, а затем перестраивается в делегат с помощью DynamicMethod
. Затем вызывается делегат и возвращается лямбда-выражение.
Я опубликовал полное объяснение его в моем блоге . Естественно, это открытый исходный код. Так что, если вам удастся его использовать, присылайте мне любые отзывы, которые считаете разумными.