Помогите с Linq и динамическим объектом в select - PullRequest
0 голосов
/ 10 марта 2011

Сигнал тревоги новичка Linq будет звучать довольно громко, и, вероятно, общий сигнал тревоги новичка, но я должен задать этот вопрос, потому что он сводит меня с ума.У меня есть объект MyObject, который имеет несколько свойств, например, ID, номер.Есть намного больше свойств, чем 2, но вы поняли.

У меня есть общий список этих объектов.Из этого списка у меня есть требование генерировать подмножество элементов на основе динамически установленного свойства MyObject.Таким образом, вместо

Dim lst as New List(Of MyObject)
... code to populate list ...
Dim newlist = (From o In lst Select o.Number Distinct).ToList()

я хотел бы иметь что-то, что позволяет динамически запрашивать свойство объекта в выделении, например

Dim lst as New List(Of MyObject)
... code to populate list ...
Dim newlist = (From o In lst Select o.GetType().GetProperty("Number").Name Distinct).ToList()

не работает, так как он просто возвращает мне список элементов имени объекта.Есть ли относительно простой способ динамического выбора свойства объекта в операторе Linq?

Любая помощь будет полезна.Спасибо!

1 Ответ

1 голос
/ 10 марта 2011

Попробуйте вместо этого:

o.GetType().GetProperty("Number").GetValue(o)

... в предложении Select.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...