-1
可能重复:
Extension method and dynamic object in c#为什么动态类型的扩展方法无法解决?
例如:
var obj = new byte[] { 1, 2, 3 };
dynamic dobj = obj;
dobj.Count(); // fails
Enumerable.Count(dobj); // works
可能重复:
Extension method and dynamic object in c#为什么动态类型的扩展方法无法解决?
例如:
var obj = new byte[] { 1, 2, 3 };
dynamic dobj = obj;
dobj.Count(); // fails
Enumerable.Count(dobj); // works
它不工作,因为知道要调用的扩展方法需要知道看上去像什么的源代码在编译之前(包括了解哪些指令存在)。运行时此信息不可用。您正在使用的解决方法是一个好方法。
对,所以扩展方法是语法糖。有道理,欢呼。 – briantyler 2012-02-01 12:56:15