Expressão de compilação C # LINQ com tipo anônimo
Eu tenho código que cria lista apenas com uma propriedade "Nome". Como modificar o código para que possa construir uma lista com duas propriedades "Name" e "Test_Result" Eu sei que o tipo anônimo pode ser usado para executar isso, mas como colocá-los em expressões dinâmicas? aqui está o meu código:
string item = "Name";
string item2 = "Test_Result";
Type studentType = typeof(Student);
ParameterExpression itemParam = Expression.Parameter(studentType, item);
MemberInfo itemProperty = studentType.GetProperty(item);
MemberExpression valueInItemField =
Expression.MakeMemberAccess(itemParam, itemProperty);
Expression<Func<Student, string>> selectExpression =
Expression<Func<Student, string>>
.Lambda<Func<Student, string>>(valueInItemField, itemParam);
IEnumerable<string> currentItemFields =
DeserializedStudents.Select(selectExpression.Compile());