【问题标题】:Why do extension methods fail to get resolved for dynamic types? [duplicate]为什么扩展方法无法解析动态类型? [复制]
【发布时间】:2012-02-01 12:40:08
【问题描述】:

可能重复:
Extension method and dynamic object in c#

例如:

var obj = new byte[] { 1, 2, 3 };
dynamic dobj = obj;

dobj.Count(); // fails
Enumerable.Count(dobj); // works

【问题讨论】:

    标签: c#-4.0 extension-methods dynamic-keyword


    【解决方案1】:

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

    【讨论】:

    • 对,所以扩展方法是语法糖。有道理,干杯。
    猜你喜欢
    • 1970-01-01
    • 2011-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-01
    • 2015-03-08
    • 1970-01-01
    相关资源
    最近更新 更多