Overloaded methods from a base class don't get 'lost' when they are required to implement an interface on a subclass.
Works correctly in mono-2.10 and .NET.
Version: fresh build from github master.
dmcs /target:library /out:blah.dll Test.cs
Test.cs(25,18): error CS0738: `Test.Subclass' does not implement interface member `Test.IInterface.Get(string, string)' and the best implementing candidate `Test.BaseClass.Get(string, int)' return type `int' does not match interface member return type `string'
Test.cs(7,9): (Location of the symbol related to previous error)
Test.cs(19,13): (Location of the symbol related to previous error)
Compilation failed: 1 error(s), 0 warnings
public interface IInterface
string Get(string key, string v);
int Get(string key, int v);
public class BaseClass
public string Get(string key, string v)
public int Get(string key, int v)
public class Subclass : BaseClass, IInterface
Fixed in master
Notice (2018-05-21): bugzilla.xamarin.com will be
switching to read-only mode on Thursday, 2018-05-25 22:00 UTC.
Please join us on
Visual Studio Developer Community and
GitHub to continue tracking
issues. Bugzilla will remain available for reference in read-only mode.
We will continue to work on open Bugzilla bugs and copy them to the new
locations as needed for follow-up. The See Also field
on each Bugzilla bug will be updated with a link to its new location
After Bugzilla is read-only, if you have new information to add for a
bug that does not yet have a matching issue on Developer Community or
GitHub, you can create a follow-up issue in the new location. Copy and
paste the title and description from this bug, and then add your new
details. You can get a pre-formatted version of the title and
In special cases you might also want the comments:
Our sincere thanks to everyone who has contributed on this bug tracker
over the years. Thanks also for your understanding as we make these
adjustments and improvements for the future.