Listのselectで入力された値に応じてPropertyを指定したいのですが、もっとスマートなやり方がありそうなので教えてください
今は↓のように手作業で全パターンをチェックしていて、

class Product {
string Field1 ...
string Field2 ...
...
}

List<Product> list = ...
string input = ...

switch (input) {
case "Field1":
result = list.select(p => p.Field1);
break;

case "Field2":
result = list.select(p => p.Field2);
break;
...
と、続いて長いくて見辛いし手間
}

これを
result = list.select(p => p[input]);
こんな感じで入力された値に応じて返す方法を知りたいです