Skip to content

Match: resolver éxito y fallo ​

Match permite convertir ambas ramas en una respuesta del mismo tipo.

csharp
using Greencore.Platform.Errors;
using Greencore.Platform.Results;
using Greencore.Platform.Results.Extensions;

var resultado = Result<int>.Ok(12);
string mensaje = resultado.Match(
    cantidad => $"Cantidad: {cantidad}",
    error => (string)error.Message);
Console.WriteLine(mensaje); // Cantidad: 12.

Solo se ejecuta la función de la rama correspondiente. Hay una variante con acciones que no devuelve un valor y una variante que recibe dos valores ya calculados.

En VoidResult, la función de éxito no recibe argumentos. En resultados con TError, la función de fallo recibe ese tipo concreto.

Recuerda: Match consume ambas posibilidades y produce la respuesta final.

Para observar sin cambiar el resultado, usa Tap y TapError.

Uso personal limitado. Uso comercial sujeto a autorización escrita.