| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | 
							- namespace Caliburn.Micro.Core {
 
-     using System;
 
-     /// <summary>
 
-     /// Extension methods for <see cref="IResult"/> instances.
 
-     /// </summary>
 
-     public static class ResultExtensions {
 
-         /// <summary>
 
-         /// Adds behavior to the result which is executed when the <paramref name ="result"/> was cancelled.
 
-         /// </summary>
 
-         /// <param name="result">The result to decorate.</param>
 
-         /// <param name="coroutine">The coroutine to execute when <paramref name="result"/> was canceled.</param>
 
-         /// <returns></returns>
 
-         public static IResult WhenCancelled(this IResult result, Func<IResult> coroutine) {
 
-             return new ContinueResultDecorator(result, coroutine);
 
-         }
 
-         /// <summary>
 
-         /// Overrides <see cref="ResultCompletionEventArgs.WasCancelled"/> of the decorated <paramref name="result"/> instance.
 
-         /// </summary>
 
-         /// <param name="result">The result to decorate.</param>
 
-         /// <returns></returns>
 
-         public static IResult OverrideCancel(this IResult result) {
 
-             return new OverrideCancelResultDecorator(result);
 
-         }
 
-         /// <summary>
 
-         /// Rescues <typeparamref name="TException"/> from the decorated <paramref name="result"/> by executing a <paramref name="rescue"/> coroutine.
 
-         /// </summary>
 
-         /// <typeparam name = "TException">The type of the exception we want to perform the rescue on.</typeparam>
 
-         /// <param name="result">The result to decorate.</param>
 
-         /// <param name="rescue">The rescue coroutine.</param>
 
-         /// <param name="cancelResult">Set to true to cancel the result after executing rescue.</param>
 
-         /// <returns></returns>
 
-         public static IResult Rescue<TException>(this IResult result, Func<TException, IResult> rescue,
 
-             bool cancelResult = true)
 
-             where TException : Exception {
 
-             return new RescueResultDecorator<TException>(result, rescue, cancelResult);
 
-         }
 
-         /// <summary>
 
-         /// Rescues any exception from the decorated <paramref name="result"/> by executing a <paramref name="rescue"/> coroutine.
 
-         /// </summary>
 
-         /// <param name="result">The result to decorate.</param>
 
-         /// <param name="rescue">The rescue coroutine.</param>
 
-         /// <param name="cancelResult">Set to true to cancel the result after executing rescue.</param>
 
-         /// <returns></returns>
 
-         public static IResult Rescue(this IResult result, Func<Exception, IResult> rescue,
 
-             bool cancelResult = true) {
 
-             return Rescue<Exception>(result, rescue, cancelResult);
 
-         }
 
-     }
 
- }
 
 
  |