Это выглядит как глупый вопрос, но я не могу найти на него решение.
Моя проблема в том, что С# не позволяет получить несколько блокировок в одном выражении lock
. Это не сработает:
lock (a, b, c, d)
{
// ...
}
Вместо этого, кажется, требуется безумное количество отступов, чтобы сделать это:
lock (a)
lock (b)
lock (c)
lock (d)
{
// ...
}
В сочетании со всеми другими уровнями отступов, в которых уже находится код (пространства имен, класс, метод, условные операторы, циклы,...), это становится безумием. Поэтому вместо этого я хочу использовать это форматирование:
lock (a) lock (b) lock (c) lock (d)
{
// ...
}
и сохранить мой рассудок. Но Visual Studio (я использую 2012) и слышать об этом не будет. Как только я ввожу любую закрывающую скобку, приведенное выше превращается во что-то глупое, например:
lock (a) lock (b) lock (c) lock (d)
{
// ...
}
И кажется, я ничего не могу сделать. Есть ли способ заставить это работать?