Можна я загалом опишу концепцію ідеї.
Я хочу сортувати об'єкти класу, які розміщені в контейнері, де ключем сортування є певне поле з цього класу за яким два сусідні елементи порівнюються.
Відповідно, поле за яким відбуватиметься сортування залежить від вибору юзера. Одразу хотілось би присвоїти функціонал певній змінній як в мовах програмування з динамічною типізацією. Потім прийшла ідея створити метод GetSortingKey( int choose ), куди передавався би умовний номер геттера, і вже з цієї функції поверталось би поле.