Ошибка «не удается преобразовать лямбда-выражение в тип« System.Delegate », поскольку это не тип делегата», так как лямбда-выражения не имеют типов. Компилятор обычно выводит тип из целевого назначения, но это невозможно с Invoke
, потому что он принимает System.Delegate
. Приведение лямбда-выражения решит эту проблему.
Нет необходимости объявлять temp
как параметр вашего лямбда-выражения. Выражение сможет ссылаться на temp
из содержащей области.
Измените строку Invoke
на следующую, и она должна работать:
this.Invoke((Action)(() => txtForm.Rtf = temp));
Убедитесь, что вы ссылаетесь на сборку System.Core
для указанной выше строки, в противном случае вы получите сообщение об ошибке «Использование универсального типа« System.Action »требует аргументов типа« 1 »».