我将在以下代码段中总结我的问题。
List<int> list = new List<int>() { 5, 56, 2, 4, 63, 2 }; Console.WriteLine(list.First());
上面的代码工作正常。
现在我尝试了以下
dynamic dList = list; Console.WriteLine(dList.First());
但是我得到了RuntimeBinderException。为什么会这样呢?
为了扩展Stecya的答案…动态类型不 以扩展方法的形式 支持 扩展方法 ,即 以扩展方法的形式 调用它们,就像它们是实例方法一样。但是,这将起作用:
dynamic dList = list; Console.WriteLine(Enumerable.First(dList));
当然,这可能有用也可能没有用。如果您可以提供有关为什么以及如何尝试使用动态类型的更多信息,我们可能会提供更多帮助。