С помощью отражения вы можете искать класс из строки во время выполнения, но вы также можете сказать typeof (Foo) и получить проверку типа во время компиляции, автозаполнение и т. Д.
Если вам нужно поле, а не класс, вы можете найти его из строки во время выполнения, но если вы хотите проверить тип времени компиляции и т. Д., Есть ли способ сказать что-то вроде fieldof (Foo.Bar)? Я заранее знаю имя класса и поля и хочу иметь возможность ссылаться на поле во время компиляции, а не при поиске строки во время выполнения.
edit: пример того, для чего я хочу это использовать, скажем, у меня есть список объектов, которые могли быть прочитаны из базы данных, и я хочу отобразить их в DataGridView, но я хочу только отображаемые столбцы для определенных полей. Я хотел бы написать метод что-то вроде:
void DisplayData(object[] objs, params FieldInfo[] fields)
и сможете назвать его как
DisplayData(accounts, fieldof(Account.Name), fieldof(Account.Email));
Такая идея.