Quelqu'un peut-il s'il vous plaît suggérer comment je pourrais modifier ce qui suit afin que je puisse retourner IQueryable<B>
de repoA
étant donné un prédicat de Func<B, bool>
?Comment diffuser à partir de IQueryable <T> à IQueryable <U> et <Func <T, bool>> à <Func <U, bool>> pour le plaisir?
Merci d'avance.
interface IRepo<T> {
IQueryable<T> FindBy(Func<T, bool> predicate);
}
class A {
public int Id { get; set; }
public string Name { get; set; }
}
class RepoA : IRepo<A> {
public IQueryable<A> FindBy(Func<A, bool> predicate) {
return new EnumerableQuery<A>(new A[1]);
}
}
class B {
public int Id { get; set; }
public string Name { get; set; }
}
class RepoB : IRepo<B> {
IRepo<A> repoA = new RepoA();
public IQueryable<B> FindBy(Func<B, bool> predicate) {
var newPredicate = Magic goes here;
var queryableA = repoA.FindBy(newPredicate);
var queryableB = More magic goes here;
}
}
c'est ce que vous faites pour vous amuser? devenir fou avec des génériques? :) – RPM1984
notez que tout texte avec '<'s and '>' dans * doit * être formaté en code (backticks ou quatre espaces-indent) pour apparaître. Voir mon edit pour un exemple. – AakashM