Как удалить фигурные скобки на однострочном выражении?

Может ли кто-нибудь посоветовать, как удалить фигурные скобки из любых однострочных операторов? (Исключая очевидное, просто удалите фигурные скобки вручную)

Использование C# в Visual Studio.

Так что вместо:

if (thingy is null)
{
    throw new ArgumentNullException(nameof(thingy));
}

Есть альтернатива:

if (thingy is null)
    throw new ArgumentNullException(nameof(thingy));

Я попытался запустить CodeMaid, а также изменить CodeCleanup (который просто меняет его на фигурные скобки). Я счастлив попробовать любые рекомендуемые расширения и т. Д., Чтобы отсортировать это.

3 ответа

Если вы используете предварительную версию Visual Studio Professional 2019 Preview, вы можете выполнить свою задачу за 2 простых шага.

Это не стандартный рефакторинг в Visual Studio. Но есть расширения, которые это добавляют.

Например. В Roslynator есть рефакторинг Remove Brances.

Вы не должны впадать в привычку опускать фигурные скобки в однострочном условном выражении. Кто-то (вы или другой человек) легко может допустить небольшую ошибку, которая создаст ошибку, с которой вам придется столкнуться позже.

Теперь я выйду из своей мыльницы и поделюсь еще более коротким нулевым охранником

      public void MyFunction(object thingy)
{
   _ = thingy ?? throw new ArgumentNullException(nameof(thingy));
   etc...

Красиво и лаконично, и нет риска пропустить проблемы с брекетами. Для строк я использую метод расширения, чтобы получить один и тот же лайнер.

        public static string NullIfWhiteSpace(this string s)
  {
      return string.IsNullOrWhiteSpace(s) ? null : s;
  }

Тогда я могу сделать

      public void MyFunction(string stringy)
{
   _ = stringy.NullIfWhiteSpace() ?? throw new ArgumentNullException(nameof(stringy));
   etc...

Я сделаю нечто подобное для пустых списков и словарей.

Другие вопросы по тегам