Как перевести дерево выражений одного типа в другой тип выражения?

Если у меня есть два почти идентичных класса Animal и AnimalViewModel и дерево выражений, связанное с моделью просмотра, как я могу перевести его на ] Animal ?

public class Animal
{
   public string Species { get; set; }
   public string Name { get; set; }
   public string Sound { get; set; }
}
public class AnimalViewModel : ViewModelBase
{
   public string Species { get; set; }
   public string Name { get; set; }
   public string Sound { get; set; }
}

Как я могу перевести Expression > в Expression > ?

public static Expression<Func<Animal,bool>> Translate (Expression<Func<AnimalViewModel,bool>> expression)
{
  // What goes here?  I assume I have to traverse the tree somehow.
}
8
задан agent-j 14 July 2011 в 19:02
поделиться