Уведомление пользователя методом не удалось? - PullRequest
0 голосов
/ 15 января 2012

У меня есть метод, который возвращает void.Он устанавливает некоторые значения в массиве, в зависимости от оператора if / else.

Однако, если код входит в оператор else, эта операция не может быть выполнена.Что я мог бы вернуться к вызывающему методу (методу в выделенном фрагменте формы winforms), чтобы указать, что эта операция не выполнена?

Ответы [ 3 ]

4 голосов
/ 15 января 2012

Вы можете изменить перечисление void на int, bool или result. Затем вызывающая сторона может извлечь это значение и проверить, был ли вызов успешным. Например, true возвращается, если операция прошла успешно, и false возвращается, если этого не произошло. Если метод должен оставаться void, вы можете использовать параметр out, который вызывающий затем считывает, чтобы проверить, был ли вызов успешным. В качестве альтернативы, вы можете выдать исключение и сделать так, чтобы вызывающий обработал его.

1 голос
/ 16 января 2012

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

void SomeFunction (someparameter of yor req, out bool result)
{
   if(success) // if everty things go well, you assign out variable 
   {
     result=true;
   }
   else
   {
     result=false; 
   }
}

Документация по выходным параметрам

0 голосов
/ 15 января 2012

Пусть ваш метод вернет логическое значение, указывающее на успех / неудачу.

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