gpt4 book ai didi

c# - 为什么动态调用返回动态结果?

转载 作者:可可西里 更新时间:2023-11-01 09:11:22 26 4
gpt4 key购买 nike

public string Foo(object obj) {
return null;
}

public string Foo(string str) {
return null;
}

var x = Foo((dynamic) "abc");

为什么 x 是动态的,编译器不够智能或者我错过了一些重要的东西?

最佳答案

我只是猜测,但是...

当您向dynamic 添加强制转换时,整个表达式将变为动态表达式。动态表达式的结果总是动态的,因为一切都在运行时解决。

查看有关使用 dynamic 的 MSDN 页面以获取更多信息:

Using Type dynamic (C# Programming Guide)

然后滚动到以下文本:

The result of most dynamic operations is itself dynamic.

关于c# - 为什么动态调用返回动态结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3997219/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com