【发布时间】:2014-10-21 14:32:35
【问题描述】:
我今天一直在研究 Dynamic Linq(通过 NuGet 安装到 VS)...但到目前为止我发现的所有示例都假设 OrderBy 是在已知属性或列名上完成的;但是我正在尝试 OrderBy 一个非强类型的字段;但实际上是从字典派生的行对象的键值;例如
class RowValues : Dictionary<string, string>
{
...
}
所以要排序的列表具体是一个 RowValues 对象的列表,其中填充了 Name,Value 对。对于给定的 RowValues 列表,OrderBy 字段可以通过命名值对条目的任何键(仅供参考:我希望最终在 xml 配置文件中指定 orderby 字段,以便可以在不重新部署二进制文件的情况下更改排序等等)。
我有一种预感,解决方案在于编写一个传递给 OrderBy 的自定义排序函数???这个函数显然知道如何从给定 xml 配置中的字段名称的 RowValues 对象中获取特定值......??到目前为止,我看到的答案显示将包含自定义 order by 子句的字符串传递到 OrderBy 中,这接近我想要的位置,但在我的情况下,运行时如何知道在哪里可以找到OrderBy 字符串??
非常感谢您的输入,还是我完全误解了 Dynamic Linq 功能?
【问题讨论】: