internal interface I
{
}
internal class Class2
{
public virtual void Foo(I i)
{
}
}
class Class3 : Class2
{
private void Bar()
Unknown macro: { Foo(new object()); }
public override void Foo(I i)
{
}
}
Call to Foo is marked as error with confusing error message: "Ambigous resolve, candidates Foo(I) and Foo(I)". Ctrl-B suggests to choose between Class2.Foo() and Class3.Foo(). Apparently there is no ambiguity - Class3.Foo() should be dominated. Resolve is confused by mismatched parameter type actually. So the error message should be about parameter type, not about ambiguity.