Как передать элемент в лямбда
Собственно есть код:
TestClass classTT;
Checker.Check((classTT) =>
{
classTT = GetTestClass();
// Некий код
// ..
return classTT.Displayed;
});
classTT.InitValue(32);
// ...
classTT.SaveToFile('testLog');
При компиляции ошибка:
Delegate 'Func' doesn't take 1 arguments
Как правильно передать classTT в лямбда?
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
Его не надо передавать, он туда попадёт автозахватом сам. Все что нужно, это успокоить компилятор, чтобы не выдавал ошибку "не присвоено значение".
TestClass classTT = null;
Checker.Check(() =>
{
classTT = GetTestClass();
// Некий код
// ..
return classTT.Displayed;
});
classTT.InitValue(32);
// ...
classTT.SaveToFile('testLog');
Но вообще такие штуки надо через возвращаемое значение делать. Старайтесь пробрасывать данные через аргументы и возвращаемые значения, так код будет более гибкий и безопасный.