Mit PredicateBuilder mit VB.NET

Habe ich neu die Predicatebuilder-Klasse in einer separaten C# - Projekt, und ich bin versucht, es zu benutzen in einem VB.NET Projekt, aber ich bekomme immer folgenden Fehler:

Überlast-Auflösung ist fehlgeschlagen, da keine zugängliche 'Oder' akzeptiert diese Anzahl von Argumenten.

wenn ich es so auf:

Dim predicate = PredicateBuilder.False(Of t_Quote)()
predicate = predicate.Or(Function(q) q.iQuoteType = iQuoteType)

Den relivant Projekt verwiesen wird, bin ich mit den richtigen imports-Anweisung und alles ohne Fehler kompiliert.

Irgendeine Idee, wohin ich gehe falsch gemacht?

Hier ist die PredicateBuilder Klasse in C# ich bin mit:

public static class PredicateBuilder
{
public static Ausdruck> Wahr() {
return f => true; }
public static Ausdruck> Falsch() {
return f => false; }

    public static Expression<Func<T, bool>> Or<T>(this

Ausdruck> expr1,
Ausdruck> ausdr2)
{
var invokedExpr = Ausdruck.Invoke(expr2,
expr1.Parameter.Cast());
Rückkehr Ausdruck.Lambda>
(Ausdruck aus.OrElse(expr1.Körper,
invokedExpr), expr1.Parameter);
}

    public static Expression<Func<T, bool>> And<T>(this

Ausdruck> expr1,
Ausdruck> ausdr2)
{
var invokedExpr = Ausdruck.Invoke(expr2,
expr1.Parameter.Cast());
Rückkehr Ausdruck.Lambda>
(Ausdruck aus.AndAlso(expr1.Körper,
invokedExpr), expr1.Parameter);
}
}

  • Ohne zu wissen, Ihre eigene API, es ist unmöglich, eine Antwort auf diese Frage. Post die C# - version des Codes, oder post, die Unterschrift zu der PredicateBuilder.Oder Methode.
InformationsquelleAutor rollercoast | 2009-10-01
Schreibe einen Kommentar