【发布时间】:2017-02-24 17:53:27
【问题描述】:
当我调用函数并将其中一个参数替换为动态时,编译器会推断函数结果是动态的。我不明白为什么会这样。
示例:a 的推断类型是动态的,因此此代码可以编译,但在运行时当然会失败并出现 RuntimeBinderException:
dynamic b = "";
var a = MethodWithoutOverloads("", b);
a.DoesNotExist();
...
public string MethodWithoutOverloads(string a, string b) { ... }
有人知道为什么推断的类型不是函数的返回类型吗?
编辑:编辑以明确这种情况发生在没有重载的方法上
【问题讨论】:
标签: c# var type-inference