MrP.FluentResult
2.0.0
dotnet add package MrP.FluentResult --version 2.0.0
NuGet\Install-Package MrP.FluentResult -Version 2.0.0
<PackageReference Include="MrP.FluentResult" Version="2.0.0" />
<PackageVersion Include="MrP.FluentResult" Version="2.0.0" />
<PackageReference Include="MrP.FluentResult" />
paket add MrP.FluentResult --version 2.0.0
#r "nuget: MrP.FluentResult, 2.0.0"
#:package MrP.FluentResult@2.0.0
#addin nuget:?package=MrP.FluentResult&version=2.0.0
#tool nuget:?package=MrP.FluentResult&version=2.0.0
Fluent Result 
Fornece uma maneira simples e clara de retornar sucesso, erros, mensagens e valores
sem depender de exceções para controle de fluxo.
📖 Sumário
- Instalação
- Exemplos de Uso
- Estrutura dos Tipos
- Extensões Fluentes
- Interface Base
- Contribuições
- Autor
📦 Instalação
Via NuGet CLI:
dotnet add package MrP.FluentResult
Ou diretamente no seu arquivo .csproj:
<ItemGroup>
<PackageReference Include="MrP.FluentResult" Version="1.0.1" />
</ItemGroup>
📚 Exemplos de Uso
✅ Resultado simples (Result)
var result = new Result(true)
.AddMessage("Operação concluída com sucesso")
.AddErrorMessage("Mas atenção: campo opcional não preenchido");
✅ Resultado com valor (Result<T>)
var pedido = new PedidoDto();
var result = new Result<PedidoDto>(pedido, true)
.AddMessage("Pedido enviado")
.AddErrorMessages(["Campo obrigatório ausente", "Erro de validação"]);
🧱 Estrutura dos Tipos
Result
public class Result : IFluentResult
{
public bool Success { get; set; }
public List<string> Messages { get; set; }
public List<string> ErrorMessages { get; set; }
}
Result<T>
public class Result<T> : Result
{
public T Value { get; set; }
}
🔁 Extensões Fluentes
A biblioteca inclui métodos de extensão para encadeamento fluente:
result
.AddMessage("Tudo certo")
.AddErrorMessages(["Erro 1", "Erro 2"]);
Esses métodos funcionam tanto para Result quanto para Result<T>, mantendo o tipo original e a fluência.
🧩 Interface Base
Todos os tipos implementam IFluentResult, que garante acesso a:
SuccessMessagesErrorMessages
🤝 Contribuições
Sinta-se à vontade para abrir issues, enviar PRs ou sugerir melhorias. Esse pacote é feito pra ser simples, útil e extensível.
🧑🔬Autor🧑🔬
Paulo Roberto S. Gomes Conceição
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.