Apariencia
Tap: observar sin cambiar el resultado
Usa Tap para una acción en éxito y TapError para una acción en fallo.
csharp
using Greencore.Platform.Errors;
using Greencore.Platform.Results;
using Greencore.Platform.Results.Extensions;
var original = Result<int>.Ok(12);
var observado = original
.Tap(valor => Console.WriteLine($"Recibido: {valor}"))
.TapError(error => Console.WriteLine(error.Message));
Console.WriteLine(ReferenceEquals(original, observado)); // True.Ambos devuelven la misma instancia. Son útiles para registrar información; no transforman el valor ni recuperan un fallo.
Las acciones son síncronas y sus excepciones se propagan. No pases una lambda async a estas acciones: usa una operación asíncrona explícita que puedas esperar.
Recuerda: Tap observa; Map transforma.