какой-то смысл ?
Локальные функции бывают полезны в ряде случаев
Когда это уместно , а когда нет ?
Например когда ты пишешь рекурсивный метод и заворачиваешь его в публичный, чтобы не таскать все параметры в другой метод удобно это сделать в виде локальной функции
Локальными функциями часто заменяют лямбды, такие как Action<T> a = item => item.DoSomething(); На этапе компиляции локальный метод будет вынесен как нормальный метод, из плюсов он имеет доступ к контексту родительского метода (т.е. его переменным), а также не виден в списке методов когда обращаешься к классу. Из минусов, читаемость кода может стать хуже, но тут субъективно, решать тебе когда применять и когда нет
Честно говоря ни разу не видел чтобы лямбды ими заменяли, лямбды на то и лямбды что анонимные функции
Райдер предлагает замену как минимум. Конечно же, менять или нет - решать тебе. Я всегда менял в своих проектах)
Обсуждают сегодня