Могу ли я свернуть foreach, используя и другие блоки кода c # в Visual Studio 2010? - PullRequest
1 голос
/ 26 октября 2010

Можно ли свернуть foreach, используя и другие блоки кода c # в Visual Studio 2010, так же, как я могу свернуть методы, свойства, классы, пространства имен и т. Д.? Это было бы очень полезно иногда.

Ответы [ 3 ]

5 голосов
/ 26 октября 2010

Вы можете использовать директивы #region #endregion для создания складных областей.

Обновление

Кстати, зачем вам эта функциональность? Есть хороший принцип, чтобы ваши методы были максимально короткими (дядя Боб называет это extract until you drop). Если вы будете придерживаться этого, вам не понадобятся дополнительные складные области.

1 голос
/ 26 октября 2010

Насколько я помню, вы можете свернуть произвольную область в Visual Studio 2010. Попробуйте выбрать область, затем дважды нажмите Ctrl + M (при условии связывания клавиш C #).

В VS2008 это можно найти в Edit -> Outlining; У меня не установлен 2010 год, поэтому я не могу попробовать его там с готовностью.

Редактировать: На самом деле, похоже, что VS2008 имеет нечто похожее в функции «Скрыть выбор» (находится в том же месте), но, по-видимому, доступно только на некоторых языках.

1 голос
/ 26 октября 2010

Вырезать + вставить код из цикла foreach в функцию, свернуть функцию?

например.,

public void MyMessyFunction()
{
  // ...

  foreach(string foo in bar)
  {
    // Do ugly stuff
  }

  // ...
}

Превращается в

public void MyMessyFunction()
{
  // ...

  foreach(string foo in bar)
  {
    DoUglyStuff(foo, bar);
  }

  // ...
}

#region Stuff I want to hide

public void DoUglyStuff(string foo, List<string> bar)
{
  // Do ugly stuff
}

#endregion
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...