Dinâmico Onde para Lista <T>
Estou tentando criar um filtro dinâmico para várias classes. Nós saberíamos apenas em tempo de execução com que tipo estamos lidando. Preciso que o ColumnName seja a coluna real (não um valor de string).
Existe uma maneira fácil de converter a string em uma coluna?
public static List<T> Filter<T>
(this List<T> Source, string ColumnName,
string TypeOfCompare, string CompValue)
{
IQueryable<T> matches = Source.AsQueryable();
if (ColumnName.Length > 0)
{
matches = (IEnumerable)matches.Where(a => ColumnName == CompValue)
}
List<T> ReturnList2 = new List<T>();
ReturnList2 = matches.ToList();
return ReturnList2;
}