Skip to content

Map: transformar un valor ​

Usa Map si la función devuelve un valor ordinario.

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

var original = Result<int>.Ok(12);
var transformado = original.Map(cantidad => cantidad * 2);
Console.WriteLine(transformado.Value); // 24.

var fallo = Result<int>.Fail(Error.Create("Cantidad inválida."));
var propagado = fallo.Map(cantidad => cantidad * 2);
Console.WriteLine(ReferenceEquals(fallo.Error, propagado.Error)); // True.

En éxito se ejecuta la función. En fallo se conserva el error sin ejecutarla. Si la función lanza una excepción, esta se propaga; Map no la convierte en Fail.

Sobre un resultado enumerable, la función recibe la secuencia completa. Para transformar elementos, aplica Select dentro de esa función; el resultado de Map es un resultado de valor, no necesariamente otro EnumerableResult.

Recuerda: una función que devuelve otro resultado necesita Bind.

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