2010-08-31 2 views
1

У меня есть метод Modify(), показанный нижекак достигнуть требования проекта

  // Convert SortedList of objects 


      if (retval) // 
      { 
       // Release the database lock 
       Debug.Verbose(func, "Unloc"); 

Функциональность, которую я хочу достичь, если флаг RuntimeUp верно и m_reconnectInProgress ложно, что означает, если (RuntimeUp & &! M_reconnectInProgress) Мне нужно сделать все процедуры в методе Modify(), иначе мне нужно вернуть «retval» как false. Мы получим retval из метода ClientModify (col) также, который обрабатывается какой-либо другой стороной

Если i положить проверка если (RuntimeUp & &! M_reconnectInProgress) на очень begginning и вниз боковой еще часть возвращающегося RetVal = ложь достаточно или есть любой другой удобный способ сделать это так, чтобы мы могли избежать плохой логики

я сделал выше предположения основаны на этот комментарий получено "" Нет необходимости создавать список измененных объектов [col.Add (dmo);], если RuntimeUp == false и m_reconnectInProgress == true. Вы можете просто вернуть false в верхней части метода Modify, что означает, что вы можете выполнить эти проверки в начале метода Modify, а не ждать, пока вызов ClientModify ""

+0

Извините, что исправился с вопросом – peter

+1

Непонятно, в чем вопрос - попробуйте перефразировать в форме: «У меня есть это и так. Как я могу добавить/изменить, чтобы получить это-то-то» – veljkoz

+0

The ' [beginner] 'был занесен в черный список по какой-либо причине. Пожалуйста, прекратите пытаться обойти это, заменив '[begin]'. – Aaronaught

ответ

0

Если я правильно понял, я бы просто добавил линии

if(!RuntimeUp || m_reconnectInProgress) 
    return false; 

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

Однако в комментарии к вашему вопросу не упоминается, что он должен проверять, что происходит повторное подключение, поэтому я не уверен, что вы должны это делать?

+0

вместо || i beleive && ,, и вы сказали верхушку метода, что означает, что очень важно попробовать блок try? – peter

+0

Я попытался, если (! RuntimeUp && m_reconnectInProgress) возвращает false; при запуске блока try, но его не работает – peter

+0

@peter: Нет, я изменил это, вместо того, чтобы проверять «если он вверх, а не повторное подключение, а затем выполнить процесс», он будет проверять «если он выключен или снова подключен, а затем выйти метод'. Вершина метода означает сразу после первого '{' (так что перед 'try', что если бы не было возможности бросить так или иначе, чтобы вам не нужно было попробовать его). –

Смежные вопросы