Apariencia
Resultados: elegir el contrato
Un resultado comunica si una operación pudo realizarse. Elige el tipo según lo que entrega en caso de éxito.
| Necesitas devolver | Tipo | Página |
|---|---|---|
| Solo confirmación | VoidResult | Sin valor |
| Un valor | Result<T> | Con valor |
| Una secuencia síncrona | EnumerableResult<T> | Leer con foreach |
| Una secuencia asíncrona | AsyncEnumerableResult<T> | Leer con await foreach |
| Un hub de publicación | StreamResult<T> | Obtener un StreamHub |
Result es la clase base abstracta: expone IsOk, IsError y Error. No se instancia ni ofrece fábricas Result.Ok() o Result.Fail().
Los primeros cuatro tipos pertenecen a Greencore.Platform.Results. StreamResult<T> pertenece al proyecto opcional platform.results.streaming, namespace Greencore.platform.results.streaming.
Ruta corta de aprendizaje
Después puedes añadir un error tipado, asincronía o secuencias.
Recuerda: el resultado expresa el estado inicial; una secuencia puede fallar después durante su lectura.