Inspiriert von der MVC-Storefront verwendet das letzte Projekt, an dem ich gerade arbeite, Erweiterungsmethoden für IQueryable, um Ergebnisse zu filtern.Erweiterungsmethoden funktioniert nicht für eine Schnittstelle
Ich habe diese Schnittstelle;
IPrimaryKey
{
int ID { get; }
}
und ich habe diese Erweiterung Methode
public static IPrimaryKey GetByID(this IQueryable<IPrimaryKey> source, int id)
{
return source(obj => obj.ID == id);
}
Sagen wir, ich habe eine Klasse, SimpleObj die IPrimaryKey implementiert. Wenn ich ein IQueryable von SimpleObj habe, existiert die GetByID-Methode nicht, es sei denn, ich habe explizit als IQueryable von IPrimaryKey gecastet, was weniger als ideal ist.
Fehle ich hier etwas?
Excellent - ich die ursprüngliche Antwort nicht akzeptiert haben. Ich werde das morgen versuchen. Danke euch beiden. – Kirschstein
Ich möchte nur sagen, dass meine Antwort nicht falsch war, es war der Grund, warum sein Code nicht funktionierte, ich nahm mir einfach nicht die Zeit, eine Lösung auszuarbeiten. Up wählte deine bessere Antwort. –
Nur ein sehr kleiner Punkt: IPrimaryKey // bessere Integration: Es sollte (diese IQueryable Quelle ... –
Kirschstein