So erhalten Sie einen String „aus“ Aff, wenn Sie die LanguageExt.Core-Bibliothek mit C# verwenden

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: So erhalten Sie einen String „aus“ Aff, wenn Sie die LanguageExt.Core-Bibliothek mit C# verwenden

by Guest » 15 Jan 2025, 18:05

Ich fange an, die LanguageExt.Core-Bibliothek in C# zu implementieren und ein minimales API-Projekt zu erstellen. Im Moment habe ich eine Validate-Klasse, die alle meine Validierungen ausführt, die Sie mit runtime.Validate ausführen können, die zu Demonstrationszwecken so geändert wurde, dass sie stattdessen einen String-Typ zurückgibt. Die Signatur dieser Methode lautet Aff as und sie ist in meiner Laufzeit wie folgt definiert:

Code: Select all

public Aff Validate => SuccessAff(Validation.Success("My success response"));
Und die Klasse, in der ich diese Validierungen ausführe, ist wie folgt definiert:

Code: Select all

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;
}
}
Das Problem ist:
Die return-Anweisung in der Eff Validate-Methode gibt Eff

Top