Я использую отражение вместе с linq.Dynamic, и у меня возникла небольшая проблема с созданием запроса, который должен получить IQueryable<T>
из IList<T>
или ISet<T>
, когда у меня есть объект.
Сначала я подумал, что смогу написать небольшой вспомогательный метод:
object Helper<T>( IList<T> list, string query, param object[] values )
{
... do query and return result.
}
К сожалению, компилятору нужно вывести аргумент T, чего он не может сделать при передаче объекта.
Есть ли простой способ обойти это? Я пытаюсь избежать динамического вызова этой вспомогательной функции.
EDIT:
У меня есть объект Domain, который в настоящее время представляет собой несколько коллекций IList, и я пытаюсь выполнить запрос к этому классу, чтобы найти подходящий объект для отображения на экране.
В основном у меня есть экран 10 и xpathish строка "FruitBasket / Fruit [Ripe == true] / color"
Итак, я знаю, что Fruit - это IList в моем коде отражения. Я инспектирую свойство, чтобы выяснить, реализует ли оно IList, и теперь я нахожусь в точке, где мне нужно запросить эту коллекцию, чтобы выбрать объекты Fruit.Ripe == true. Для этого мне нужно привести IQuerable