Как удалить фигурные скобки на однострочном выражении?
Может ли кто-нибудь посоветовать, как удалить фигурные скобки из любых однострочных операторов? (Исключая очевидное, просто удалите фигурные скобки вручную)
Использование 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...
Я сделаю нечто подобное для пустых списков и словарей.