Skip to content

Conservar el tipo de colección ​

EnumerableResult<TEnumerable, TItem> conserva una colección concreta. Si necesitas además conocer el error, añade el tercer parámetro TError.

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

var resultado = EnumerableResult<List<int>, int, QueryError>.Ok(new List<int> { 10, 20 });
Console.WriteLine(resultado.Value.Count); // 2.

var fallo = EnumerableResult<List<int>, int, QueryError>.Fail(new QueryError("Q-01"));
Console.WriteLine(fallo.Error.QueryCode); // Q-01.

public sealed class QueryError(string queryCode) : Error("Consulta rechazada.")
{
    public string QueryCode { get; } = queryCode;
}

En EnumerableResult<List<int>, int>, el segundo parámetro es el elemento, no un tipo de error. Para tipar el error necesitas los tres parámetros.

Tap y TapError conservan el tipo enumerable. Map transforma la colección completa y devuelve un resultado de valor; no transforma cada elemento automáticamente.

Recuerda: colección, elemento y error tienen posiciones diferentes en el tipo.

Para las abreviaturas ArrayResult<T> y ListResult<T>, consulta tipos especializados.

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