public string Foo(object obj) { return null; } public string Foo(string str) { return null; } var x = Foo((dynamic) "abc");
为什么x动态,编译器不够聪明或者我想念重要的东西?
解决方法
我只是在这里猜猜,但…
将动画添加到动态时,整个表达式将成为动态表达式.动态表达式的结果始终是动态的,因为一切都在运行时解决.
查看MSDN页面使用动态更多信息:
Using Type dynamic (C# Programming Guide)
并滚动到以下文本:
The result of most dynamic operations is itself dynamic.