Я только начал использовать лямбда-выражения, и мне действительно нравится ярлык. Мне также нравится тот факт, что у меня есть область внутри лямбда-метода. У меня проблемы с вложением лямбд. Вот что я пытаюсь сделать:
public void DoSomeWork()
{
MyContext context = new MyDomainContext();
context.GetDocumentTypeCount(ci.CustomerId, io =>
{
if (io.HasError)
{
// Handle error
}
// Do some work here
// ...
// make DB call to get data
EntityQuery<AppliedGlobalFilter> query =
from a in context.GetAppliedGlobalFiltersQuery()
where a.CustomerId == ci.CustomerId && a.FilterId == 1
select a;
context.Load<AppliedGlobalFilter>(query, lo =>
{
if (lo.HasError)
{
}
**// Do more work in this nested lambda.
// Get compile time error here**
}
}, null);
}, null);
}
Вторая лямбда, где я получаю следующую ошибку времени компиляции:
Невозможно преобразовать лямбда-выражение в тип 'System.ServiceModel.DomainService.Client.LoadBehavior', поскольку оно не является типом делегата
Компилятор выбирает неправильную перегрузку для метода Load, хотя я использую то же переопределение, что и в предыдущей Lambda.
Это потому что я пытаюсь вложить? Или у меня что-то не так?
Спасибо,
-Скотт