[mono-devel-list] overriding return type
Alan.Jenkins at phonecoop.coop
Mon Jul 28 07:58:47 EDT 2003
Having slept on it, I accept that covariant return types are unnecessary in
C#. The technique show in Jacob Egglestons last example (hiding the base
method using the 'new' modifier in interfaces, and explicitly implementing
both methods in derived classes) is satisfactory; it probably involves
writing a few more interfaces and/or methods than you might otherwise; but I
don't see this as a problem. Covariant return types may be desirable in C#,
but as they are redundant there is little point in departing from the ECMA
standard - just to scratch an itch.
I think C++ and Java both need covariant return types, but C# is different.
The difference stems from the 'new' modifier, and the 'Interface.Method'
syntax for declaring methods. I didn't grok the implications of these
features before - I was still thinking as a Java programer. I've learnt my
lesson: don't suggest modifications to a language before you understand it.
I guess thats it then. Thanks for bearing with me.
More information about the Mono-devel-list