/// <summary> /// Accepts a <see cref="IImageVisitor"/> to implement a double-dispatch pattern in order to /// apply pixel-specific operations on non-generic <see cref="Image"/> instances /// </summary> /// <param name="source">The source image.</param> /// <param name="visitor">The image visitor.</param> /// <returns>A <see cref="Task"/> representing the asynchronous operation.</returns> public static Task AcceptVisitorAsync(this Image source, IImageVisitorAsync visitor) => source.AcceptAsync(visitor);
/// <summary> /// Accepts a <see cref="IImageVisitor"/> to implement a double-dispatch pattern in order to /// apply pixel-specific operations on non-generic <see cref="Image"/> instances /// </summary> /// <param name="source">The source image.</param> /// <param name="visitor">The image visitor.</param> /// <param name="cancellationToken">The token to monitor for cancellation requests.</param> /// <returns>A <see cref="Task"/> representing the asynchronous operation.</returns> public static Task AcceptVisitorAsync(this Image source, IImageVisitorAsync visitor, CancellationToken cancellationToken = default) => source.AcceptAsync(visitor, cancellationToken);