Как бы я неявно вызвал метод после явного вызова другого определенного типа метода - PullRequest
0 голосов
/ 06 октября 2010

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

MethodA() // non web service related method

MethodB() // Web service calling method

if _response == OK then 
   MethodC()

По сути, я хочу получить чек без явного вызова.

Так что я бы хотел сделать что-то вроде этого:

MethodA()
MethodB() //If this fails, don't continue 
MethodC() 

И я бы выбил из вызывающей последовательности обновленную внутреннюю переменную _response и остановку выполнения.

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

Я здесь слишком усложняю?

Спасибо

Ответы [ 2 ]

0 голосов
/ 07 декабря 2010

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

0 голосов
/ 06 октября 2010

Бросить исключение в MethodB() и обработать его на верхнем уровне. Таким образом, если исключение выдается внутри MethodB(), MethodC() не будет вызвано.

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