Exemplo n.º 1
0
 /// <summary>
 ///    Provides handling logic for abstract Effect awaiters.
 /// </summary>
 /// <typeparam name="TResult">The result type of the abstract effect.</typeparam>
 /// <param name="awaiter">The effect awaiter to be completed with a value.</param>
 /// <returns>A task waiting on the asynchronous handler.</returns>
 /// <remarks>
 ///   Typically a pattern match against subtypes of <see cref="Effect{TResult}"/>
 ///   that are recognized by the particular effect handler implementation.
 /// </remarks>
 public abstract ValueTask Handle <TResult>(EffectAwaiter <TResult> awaiter);
Exemplo n.º 2
0
 /// <summary>
 ///   An effect handler that always throws.
 /// </summary>
 /// <exception cref="NotSupportedException" />
 public override ValueTask Handle <TResult>(EffectAwaiter <TResult> awaiter)
 {
     throw new NotSupportedException("Abstract effects not supported by this handler.");
 }