|
1
|
| Display Name Camilo Terevinto · 技术社区 · 15 年前 |
|
|
1
9
我记不清标准里写的是什么,但是C更喜欢叫
最具体
超载。对于泛型,函数的通用版本几乎总是优先考虑。所以当一个
因此,必须显式转换为对象才能调用对象版本:
可选地:
如果你这样做,你会有一个奇怪的(但明智的)问题:
这将调用
|
|
|
2
1
自从
|
|
|
3
0
显示方法是冗余的。实际上,您不需要同时使用这两种方法。 首先,让我解释一下为什么它总是执行通用版本而不是其他版本。 C编译器将找到方法调用的最佳类型匹配。在所有的调用中,generic方法是最好的匹配方法,因为generic版本的类型参数总是与调用中给出的类型参数相同。 对于tools.display(i)调用编译器更喜欢通用版本,因为这是基于类型匹配的最佳选项。 即使在其他调用中,类型也是从参数中推断出来的,因此更倾向于调用泛型版本。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |