Использование запроса в стиле XPath с отражением - PullRequest
5 голосов
/ 24 февраля 2010

У меня есть дерево классов, которое содержит несколько объектов в иерархии. Поэтому у меня может быть объект Container, в котором размещены 3 объекта SubContainer, которые, в свою очередь, содержат произвольное количество объектов Item.

Можно ли как-нибудь использовать выражение в стиле XPath над этим деревом объектов, что подразумевает отражение, чтобы я мог запросить свойство класса с выражением в стиле XPath, чтобы код выглядел как-то как:

object o = Container.Query("/Container/SubContainer[1]/Item[1]/@ItemProperty");

Очевидно, что он полностью составлен и, вероятно, не является допустимым синтаксисом XPath, но это просто иллюстративно, чтобы дать вам представление о том, что я ищу.

Редактировать -> Причина, по которой я хотел бы сделать запрос таким образом, заключается в том, что путь к объекту не является фиксированным и, следовательно, должен настраиваться пользователем приложения.

Спасибо.

Ответы [ 2 ]

4 голосов
/ 05 января 2011

У меня была такая же проблема, поэтому я написал простое расширение для запроса объектов, используя отражение

http://code.google.com/p/antix-software/wiki/AntixReflectionQuery

Если он не будет делать то, что вам нужно, это будет по крайней мере, начало

0 голосов
/ 24 февраля 2010

Вы можете написать метод расширения для Control, который принимает строку, как вы описываете.

Вам придется написать для него парсер и использовать его для выполнения фактических запросов.

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