1
4
保罗关于“将仿制药引入混合体似乎完全掩盖了这个更基本的问题”的评论似乎是正确的。 我相信您的问题与泛型的关系不大,更多的是与如何适当地重载一个方法有关(在这方面我可能是错的,但这是我从查找方法重载中收集到的)。我甚至不确定一个属性是否可以被同名的方法重载,但是不管怎样,让我们快速看看方法重载,它仍然应该演示为什么代码不能工作。
您可以重载相同名称的方法(在您的情况下,名称为
根据 插图C 2008 丹尼尔·索利斯
让我们看一下您的属性和方法,看看根据上面提供的四条信息,它们是否具有相同的签名:
从公式中删除参数时,唯一需要唯一标识类型的是它的名称。此外,由于方法(或属性)的返回类型不是其签名的一部分,因此一种类型是字符串,另一种类型是泛型并不重要。无论哪种方式,它们都有相同的签名(因为它们的名称相同,并且没有参数),编译器将无法适当地区分它们。 尽管如此,我不确定这是否准确回答了你的问题(或者即使我正确地回答了这个问题……我很乐意接受评论中的更正,以进一步加深我的个人理解)。但是,我发现通过 第一 正确理解重载对于解决编译器如何处理代码的整体问题非常有帮助。 我希望这有帮助。 |
2
9
括号没有提供足够的信息,因为您不总是使用它们。这就是为什么这行不通的原因:
|
3
5
如果你不考虑仿制药,比如:
你也会得到一个错误:类型…已包含值的定义 我可以想到一个有明显冲突的案例:
|
George S. · 是否存在基于元组的控制流语句内部表示? 6 年前 |
FlatAssembler · 在x86程序集中计算exp(x) 6 年前 |
cib · 即时编译和动态编译有什么区别? 7 年前 |
Artemis · 寄存器与指令之间的差异 7 年前 |
Sam · 了解go工具编译和链接命令 7 年前 |