Я вижу, что лямбда-выражения стали очень полезным инструментом в некоторых местах языка. Я часто их использую, и большую часть времени они подходят по размеру и делают код короче и, возможно, понятнее.
Теперь .. Я видел некоторые, я бы сказал, чрезмерное их использование. Некоторым людям они нравятся настолько, что они пытаются использовать их везде, где могут. Иногда код на C # выглядит как функциональный язык.
Другими факторами против являются затраты, основанные на использовании лямбда-отражения, и то, что не подходит для отладки.
Я хотел бы услышать мнения о том, насколько хорошо и насколько понятен код, использовать более или менее лямбда-выражения.
(это не лучший пример, но допустим, что это был триггер)
Я писал следующий код. Использование delegate { return null; }
помогает мне избежать необходимости спрашивать, является ли событие нулевым или нет, каждый раз, когда я должен его использовать.
public delegate ContactCellInfo.Guest AddGuest();
public event AddGuest GuestRequest = delegate { return null;}
Я использую Resharper, и мудрый Resharper (даже если он несколько раз буквально ест память) сделал мне следующее предложение
public delegate ContactCellInfo.Guest AddGuest();
public event AddGuest GuestRequest = () => null;
На мой взгляд, код с использованием делегата выглядит более понятным. Я не против выражения Ламдба, просто хотел бы услышать несколько советов о том, как и когда их использовать.