为什么无法为动态类型解析扩展方法



可能重复:
c#中的扩展方法和动态对象

例如:

var obj = new byte[] { 1, 2, 3 };
dynamic dobj = obj;
dobj.Count(); // fails
Enumerable.Count(dobj); // works

它不起作用,因为知道要调用哪个扩展方法需要知道源代码在编译之前的样子(包括知道存在哪些using指令)。在运行时,此信息不可用。您正在使用的变通方法是一种很好的方法。

相关内容

  • 没有找到相关文章

最新更新