List<T> objectList = GetList();
foreach (T setName in setNames)
{
List<T> list = objectList.Where(x => x.QualificationID == setName).ToList();
redisClient.SetAdd<string>("Qualification:" + setName, list.Select(x => x.ProductID).ToString());
}
In Zeile 3, hat T keine Definition für ‚QualificationID‘ und keine Erweiterungsmethode enthält ‚QualificationID‘ ein erstes Argument vom Typ T Annahme gefunden werden konnte.Wie eine Liste abzufragen <T> LINQ mit
Ähnlich in Zeile 4, T enthält keine Definition für 'ProductID' und es konnte keine Erweiterungsmethode 'ProductID' gefunden werden, die ein erstes Argument vom Typ T akzeptiert.
Wie können wir die Liste der generischen Objekte mit linq filtern?
EDIT: Es ist nicht möglich, den Eigenschaftswert in einer generischen Methode zu filtern, bis wir den Klassestyp angeben. ähnliches Verfahren erstreckt,
Methode() wobei T: Classtype
wie in den Antworten und Kommentar angegeben.
Verwenden Sie eine generische Art "where T: SomeType" Typ in Ihrer Methode/Klasse-Deklaration. – Abion47
Können Sie mit einem Beispiel sprechen? –
Ich verdächtige 'list.Select (x => x.ProductID) .ToString()' wird nichts nützliches ergeben, da '.Select()' liefert eine 'IEnumerable ', who ist.' ToString() 'Methode gibt den Typ zurück Name. –