Comment refactoriser ce code C# en une méthode générique GetBy(string property, string search)
?Comment refactoriser cela en Expression générique?
public MyModel GetByName(string name)
{
return GetAll().SingleOrDefault(d => string.Equals(d.Name, name, StringComparison.OrdinalIgnoreCase));
}
public MyModel GetByUrl(string url)
{
return GetAll().SingleOrDefault(d => string.Equals(d.Url, url, StringComparison.OrdinalIgnoreCase));
}
GetAll()
donne retour Liste des MyModel, donc cela peut être un problème aussi, ce n'est pas un résultat IQueryable
.
Sachez que si vous faites cela, vous perdrez tout type sûr ty, c'est généralement une mauvaise idée ... – DavidG
Que diriez-vous de 'public MyModel Get (Expression> propriété, valeur)' de sorte que vous pouvez vous assurer que les appelants ne transmettent qu'une propriété valide? ou omettez l'expression si vous avez déjà une liste en mémoire. –