Apariencia
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.