Ich habe folgendes Wörterbuch erklärt „nicht aus der Nutzung geschlossen werden“Lambda
public IQueryable<Image> Find(Func<Image, bool> exp)
{
return dictionary.Single(exp);
}
Der Fehler, den ich bekommen ist:
Error 1 The type arguments for method 'System.Linq.Enumerable.Single<TSource>(System.Collections.Generic.IEnumerable<TSource>, System.Func<TSource,bool>)' cannot be inferred from the usage. Try specifying the type arguments explicitly. C:\work\MSD-AIDS-Images\MSD-AIDS-Images-Test\TestImageRepository.cs 34 30 MSD-AIDS-Images-Test
ich versucht habe googeln um, ich kann nicht alles endgültig als scheinen, zu finden, was ich falsch mache
Bearbeiten - Dies ist Montag Morgen bei der Arbeit.
ich meinte, "where" zu setzen, nicht einzelne
Edit 2!
Ok, ist der Code jetzt das:
public IQueryable<Image> Find(Func<Image, bool> exp)
{
return dictionary.Values.Where(exp);
}
Jetzt bekomme ich folgende Fehlermeldung:
Error 1 Cannot implicitly convert type 'System.Collections.Generic.IEnumerable<MSD_AIDS_Images_Data.Image>' to 'System.Linq.IQueryable<MSD_AIDS_Images_Data.Image>'. An explicit conversion exists (are you missing a cast?) C:\work\MSD-AIDS-Images\MSD-AIDS-Images-Test\TestImageRepository.cs 34 20 MSD-AIDS-Images-Test
Als FYI, wobei das Verfahren es zur Implementierung einer Schnittstelle ist, die Erklärung für das ist:
IQueryable<T> Find(Func<T, bool> exp);
Das hat komplizierter als es sein sollte!
Wie ich bereits gesagt - die zu IEnumerable Rückgabetyp –