c# 使用动态设置动态表达式?

发布于 2024-12-07 13:44:02 字数 617 浏览 0 评论 0原文

我对动态关键字很陌生,并且对它进行了大量研究,因为我想用它来解析 xml。我遇到了我用作测试的示例: http://blogs.captechconsulting.com/blog/kevin-hazzard/ Fluent-xml-parsing-using-cs-dynamic-type-part-1

在示例中,他们显示:dx.book[2].authors.author[0].name.last.Value,我想知道是否可以以某种方式从字符串或数据库值构建动态表达式?

伪示例:

dynamic dx = new DynamicXml(xml);
Console.WriteLine("dx.book[2].authors.author[0].name.last.Value");

我研究了 EVAL 来执行类似的操作,或者以某种方式研究反射,但很好奇是否有更好的方法。任何建议或帮助,或者简单的拒绝,我们将不胜感激。

I'm new to the dynamic keyword and been researching it quite a bit, for I want to use it to parse xml. I came across this example I'm using as my test: http://blogs.captechconsulting.com/blog/kevin-hazzard/fluent-xml-parsing-using-cs-dynamic-type-part-1

In the example, they show: dx.book[2].authors.author[0].name.last.Value, I want to know if it's possible somehow to build a dynamic expression from a string or database value?

psuedo example:

dynamic dx = new DynamicXml(xml);
Console.WriteLine("dx.book[2].authors.author[0].name.last.Value");

I looked into an EVAL to do something like this, or looking into reflection somehow, but curious if there is a better way. Any advice or help, or a simple no would be greatly appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

笛声青案梦长安 2024-12-14 13:44:02

InvokeGetChain 接受一串属性并动态调用它们。它更像是一种反射风格的方法(尽管比反射更容易、更快,并且可以处理动态对象)。

它位于 ImpromptuInterface 开源项目中(通过 nuget)。从 v6.0 开始,它确实以精确的格式解析索引器以上,不包括目标对象。

InvokeGetChain takes a string of properties and dynamically invokes them. It is more of a reflection style way of doing it (though easier and faster than reflection and works with dynamic objects.

It's in the ImpromptuInterface open source project (via nuget). As of v6.0 it does parse indexers, in the exact format above, excluding the target object.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文