코드 3-13 공통적인 종료 지점을 단일 return 문으로 병합하기
[HttpPost]
public IActionResult Submit2(ShipmentAddress form) {
if (!ModelState.IsValid) {
goto Error;
}
var validationResult = service.ValidateShippingForm(form);
if (validationResult != ShippingFormValidationResult.Valid) {
goto Error;
}
bool success = service.SaveShippingInfo(form);
if (!success) {
ModelState.AddModelError("", "Problem occurred while " +
"saving your shipment information, please try again");
goto Error;
→ 중복된 종료 지점
}
return RedirectToAction("Index", "BillingForm");
Error: → 목적지 레이블
return RedirectToAction("Index", "ShippingForm", form); → 공통적인 종료 코드
}