Ключевое слово Region в функциях

#c# #vb.net

#c# #vb.net

Вопрос:

Я обычно использую для организации кодов под строками;

 #Region "Comments.."
#End Region
 

Но когда я хочу использовать его в функции, оно выдает ошибку («.. недопустимы в пределах …»).
Есть ли какое-либо ключевое слово для этого в функции или нет?

Ниже приведена ошибка.

 Public Function Mail() As Boolean
        #Region "Error"
        #End Region
End Function
 

Для vb.net , но та же проблема сохраняется и в c #.

Комментарии:

1. Вам необходимо привести пример того, где это не работает, а также полное сообщение об ошибке.

2. можете ли вы показать, как вы его используете, и полную информацию об ошибках? В любом случае, C # или VB?

3. «Но когда я хочу использовать его в функции» , что вы имеете в виду именно? Пожалуйста, укажите код и полную ошибку.

4. Если вы чувствуете, что вам нужны регионы внутри метода, вам следует подумать о рефакторинге этого метода.

5. Та же проблема не возникает в C #. Совершенно законно размещать регионы в методах. Однако, чтобы отразить других, если вы чувствуете, что вам нужно это сделать, что-то не так.

Ответ №1:

Согласно документации:

Блок #Region должен быть объявлен на уровне класса, модуля или пространства имен. Сворачиваемая область может включать в себя одну или несколько процедур, но она не может начинаться или заканчиваться внутри процедуры.

Итак, нет, нет способа сделать это.

Комментарии:

1. Нет, не существует. Подумайте о том, чтобы сделать то, что сказал Микаэль в своем комментарии, провести рефакторинг и разделить код на отдельные методы.

2. @ToUpper «Я только спросил, есть ли какой-либо метод, подобный #Region, для использования в функции» действительно; и Лассе только ответил (сославшись на источник из документации); ответ просто «нет».

Ответ №2:

как сказал Марк Гравелл, законно помещать #regions внутри функций. обратитесь к следующему примеру на c#

 private void showMessags(int ID)
    {  
         #region " Display Message "
         if (ID == 1)
             {          
                 lblMessage.Text = "Hi";
             }
         else if (ID == 2)
             {
                 lblMessage.Text = "Hello";
             }
         #endregion
    } 
 

Ответ №3:

Errrr… Если вам нужно поместить регионы в свои методы, вы делаете это неправильно. Они не должны быть длиной в страницы!