Tip a futura memoria:
public static List<MyClass> ReorderList(List<MyClass> listToOrder, string orderByPropertyName)
{
var p = typeof(MyClass).GetProperty(orderByPropertyName);
return listToOrder.OrderBy(c => p.GetValue(c, null)).ToList<MyClass>();
}