Код: Выделить всё
public Aff Validate => SuccessAff(Validation.Success("My success response"));
Код: Выделить всё
using LanguageExt;
using LanguageExt.Common;
using static LanguageExt.Prelude;
namespace ApplinxChannel.Api;
internal static class Validation
{
internal static Eff Validate(TRequest request)
where TRuntime : struct,
HasValidator
where TRequest : notnull
where TClean : notnull
{
return from runtime in Eff(identity)
let clean = runtime.Validate.Bind(x => x.ToEff(errors =>
errors.Aggregate(Error.New("Errors:"), (e1, e2) => e1.Append(e2))))
select clean;
}
}
Инструкция return в методе Eff Validate возвращает Eff x.ToEff(errors =>
errors.Aggregate(Error.New("Errors:"), (e1, e2) => e1.Append(e2))))
select validationAff;
[/code]
Но это дает мне Aff при выборе validationAff, который не соответствует окончательному ожидаемому Eff, потому что вместо этого создается Eff.
Ожидается, что в итоге внутри Validate метод. Это создает ошибку компиляции, поскольку сигнатура метода Validate определена как Eff Validate, а оператор return создает объект типа Eff
Любая идея или предложение приветствуется.
Подробнее здесь: https://stackoverflow.com/questions/793 ... brary-with
Мобильная версия