可以订购动态类型吗?

Abe*_*ler 1 .net c#

说我有以下代码:

dynamic myData = GetMyData();
foreach(dynamic d in myData.data)
{
   Console.WriteLine(d.name);
}
Run Code Online (Sandbox Code Playgroud)

我怎么能按字母顺序写出所有名字?如果我使用的东西就像List<MyClass>我会使用的那样myData.OrderBy(t => t.name),但是当我使用动态类型时,这似乎不起作用.

有关如何订购这些价值的任何建议?

Ken*_*rey 7

Enumerable.OrderBy(myData, (Func<dynamic, dynamic>)(t => t.name));
Run Code Online (Sandbox Code Playgroud)

这应该会恢复myData.OrderBy(t => t.name)正常情况.

由于OrderBy是扩展方法,因此它不适用于动态类型.看到这个答案.