【发布时间】:2014-04-30 05:53:43
【问题描述】:
有两个具有相同名称和相同参数集但返回类型不同的函数。为什么它不是一种多态形式,即方法重载?为什么编译器不允许?
【问题讨论】:
-
这是一个副本,但是 - 作为旁注 - Ceylon(一种鲜为人知的 JVM 语言)有一个非常有趣的类型系统,它引入了交集和联合类型。请参阅ceylon-lang.org/documentation/current/tour/types 了解更多信息。
-
@KonradMorawski 如果我错了,请纠正我,但这些功能无助于消除应该调用哪个重载的歧义。最多,它们允许为一组重载提供单一类型。
-
@delnan 可能你是对的,但仍然 - 如果我理解得很好,我自己从来没有使用过锡兰,只是读过它 - 如果坚持使用 @987654324,它们可以用作一种解决方法@ 和
bool Foo()并排。 -
stackoverflow.com/questions/442026/… 处理同样的问题。它不是 C# 特定的。
标签: c# oop polymorphism overloading