Mat*_*eld 5 .net c# reflection xpath
我有一个类树,它包含层次结构中的多个对象.所以我可能有一个Container对象,它承载3个SubContainer对象,这些对象又承载任意数量的Item对象.
有没有什么方法可以在这个对象树上使用XPath样式的表达式,这意味着反射,这样我就可以使用XPath样式的表达式查询类的属性,这样代码看起来像:
object o = Container.Query("/Container/SubContainer[1]/Item[1]/@ItemProperty");
Run Code Online (Sandbox Code Playgroud)
显然这完全弥补了,并且可能不是有效的XPath语法,但它只是为了让您了解我正在寻找的内容.
编辑 - >我想以这种方式查询的原因是因为对象的路径不是固定的,因此需要由应用程序用户配置.
谢谢.
我遇到了同样的问题,因此编写了一种简单的扩展来使用反射查询对象
http://code.google.com/p/antix-software/wiki/AntixReflectionQuery
如果它不能完全满足您的需要,那么它至少是一个开始