Законно ли объявлять лямбду после последнего возврата в функции C#?C#

Место общения программистов C#
Anonymous
Законно ли объявлять лямбду после последнего возврата в функции C#?

Сообщение Anonymous »

Я просмотрел код инъекции зависимости ASP.NET APOMAPPER ASP.NET, и в AddAutomapperClasses я увидел, что они объявили выражение лямбды после последнего возврата:

Код: Выделить всё

private static IServiceCollection AddAutoMapperClasses(...)
{
// ... code
foreach (var type in assembliesToScan.SelectMany(a => a.GetTypes().Where(type => type.IsClass && !type.IsAbstract && IsAmType(type))))
// ... more code

return services;
bool IsAmType(Type type) => Array.Exists(AmTypes, openType => ...);
}
Я никогда не видел ничего подобного раньше, и мне было интересно Как и почему это сработало для компилятора, поскольку Isamtype не объявили, прежде чем его вызвали в петле Foreach.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... p-function

Вернуться в «C#»