В последнее время, я принял к образцу, имеющие много данных диагностики в части моего кода, что делает использование лямбда-выражения/анонимных делегатов, как так:Возможно ли иметь слишком много анонимных делегатов?
MyEventManager.LogVerbose(LogCategory.SomeCategory,() => String.Format(msg_string, GetParam1(), GetParam2(), GetParam3());
Обратите внимание, что второй аргумент LogVerbose является выражение лямбда, которое оценивает строку. Причиной этого является то, что если ведомое ведение журнала фактически не разрешено, LogVerbose должен выйти, выполнив как можно меньше работы, чтобы минимизировать влияние производительности. Построение строки сообщения об ошибке может в некоторых случаях занять время или ресурсы, и если выражение лямбда никогда не будет оценено, это нарушение производительности не будет понесено.
Мне интересно, может ли засориться система типов с таким количеством анонимных делегатов, как это, будет иметь некоторые непредвиденные последствия для производительности приложения или если есть какие-либо другие стратегии, которые я должен рассмотреть.
Это то, что я подозревал, это техническое обоснование. – jlew