【发布时间】:2012-02-01 12:40:08
【问题描述】:
例如:
var obj = new byte[] { 1, 2, 3 };
dynamic dobj = obj;
dobj.Count(); // fails
Enumerable.Count(dobj); // works
【问题讨论】:
标签: c#-4.0 extension-methods dynamic-keyword
例如:
var obj = new byte[] { 1, 2, 3 };
dynamic dobj = obj;
dobj.Count(); // fails
Enumerable.Count(dobj); // works
【问题讨论】:
标签: c#-4.0 extension-methods dynamic-keyword
它不起作用,因为知道要调用哪个扩展方法需要知道源代码在编译之前的样子(包括知道存在哪些using 指令)。在运行时,此信息不可用。您使用的解决方法是一个很好的方法。
【讨论】: