Простая и удобная реализация паттерна Result Object для .NET, позволяющая обрабатывать ошибки без использования исключений.
License
—
Deps
0
Install Size
—
Vulns
✓ 0
Published
Apr 14, 2025
$ dotnet add package Anillen.ResultObjectsПростая и удобная реализация паттерна Result Object для .NET, позволяющая обрабатывать ошибки без использования исключений.
dotnet add package Anillen.ResultObjects
Традиционный подход с исключениями:
Result Object решает эти проблемы, предоставляя:
public ResultValue<Customer> GetCustomer(int id)
{
if (id <= 0)
return ResultValue.Failure<Customer>(new Error("400", "Id is not valid"));
var customer = _repository.Find(id);
return customer is not null
? ResultValue.Success(customer)
: ResultValue.Failure<Customer>(new Error("404", "Not found"));
}
public Result SendMessage(string message)
{
if (string.IsNullOrEmpty(message))
return Result.Failure(new Error("400", "Message is not valid"));
try
{
_messageService.SendMessage(message);
return Result.Success();
} catch(Exception ex)
{
return Result.Failure(new Error("SendMessageError", ex.Message));
}
}
⭐ Если проект вам понравился, поставьте звезду на GitHub!