/// <summary> /// Adds <see cref="Action"/> to initialize. /// </summary> /// <param name="origination"> /// <see cref="Action"/> to initialize. /// </param> /// <returns> /// <see cref="IService"/> added <paramref name="origination"/>. /// </returns> /// <exception cref="ArgumentNullException"> /// Thrown if <paramref name="origination"/> is null. /// </exception> public static IService OnOriginated(this IService service, Action origination) { if (service is null) { throw new ArgumentNullException(nameof(origination)); } if (origination is null) { throw new ArgumentNullException(nameof(origination)); } return(service.Configure(Origination.Of(origination))); }
/// <summary> /// Creates <see cref="ICycle"/> from <see cref="IExecution"/>, two <see cref="Action"/>s. /// </summary> /// <param name="execution"> /// <see cref="IExecution"/> to execute in <see cref="ICycle"/>. /// </param> /// <param name="origination"> /// <see cref="Action"/> to originate in <see cref="ICycle"/>. /// </param> /// <param name="termination"> /// <see cref="Action"/> to terminate in <see cref="ICycle"/>. /// </param> /// <returns> /// <see cref="ICycle"/> created. /// </returns> /// <exception cref="ArgumentNullException"> /// Thrown if <paramref name="execution"/> is null. /// </exception> /// <exception cref="ArgumentNullException"> /// Thrown if <paramref name="origination"/> is null. /// </exception> /// <exception cref="ArgumentNullException"> /// Thrown if <paramref name="termination"/> is null. /// </exception> public static ICycle Between(this IExecution execution, Action origination, Action termination) { if (execution is null) { throw new ArgumentNullException(nameof(execution)); } if (origination is null) { throw new ArgumentNullException(nameof(origination)); } if (termination is null) { throw new ArgumentNullException(nameof(termination)); } return(execution.Between(Origination.Of(origination), Termination.Of(termination))); }