.NET Framework поддерживает пустой синтаксис действия или синглтон

При работе с существующими инфраструктурами иногда необходимо передать делегат действия, который не выполняет никаких действий, обычно это точка расширения, добавленная первоначальным разработчиком. Пример:

var anObject = new Foo(() => { });

И, вероятно, объект Foo вызовет этот делегат через некоторое время. Моя цель здесь состоит в том, чтобы исключить использование {}, потому что мой стиль диктует, что {} должно быть само по себе, и отдельные строки, и я немного невнятный и ненавижу быть многословным, если мне это не нужно.

При работе с действием, которое возвращает значение, это достаточно просто - вы можете предоставить выражение вместо оператора (таким образом, удаляя фигурные скобки.) Пример:

var anObject = new Foo(() => string.Empty);

Итак, я полагаю, что вопрос состоит из двух частей ...

Есть ли в .NET какое-либо пустое действие по умолчанию? Есть ли синтаксический сахар для обеспечения лямбда-выражения пустым, кроме {}?

Текущее решение, к которому я склоняюсь, состоит в том, чтобы определить делегат в предыдущем присваивании, чтобы избежать необходимости использовать лямбда-выражения внутри вызова функции.

Ответы на вопрос(1)

Ваш ответ на вопрос