public void WhenAskingForValue_ItChoosesToUseTheNonExplicitInterface() { var implementation = new ExplicitImplementation(); Assert.Equal(1, implementation.GetValue()); //Assert.Equal("value", implementation.GetValue()); }
public void y() { var implementation = new ExplicitImplementation(); //You cannot call the method if both are explictedly implemented unless you first clear up what type it's representing //Assert.Equal("simple", implementation.GetName()); ISimpleInterface simple = implementation; ISimiliarInterface similiar = implementation; Assert.Equal("simple", simple.GetName()); Assert.Equal("similiar", similiar.GetName()); }
public void WhenUsedAsItsInterface_ItUsesTheExplicitImplementation() { ISimiliarInterface similiar = new ExplicitImplementation(); Assert.Equal("value", similiar.GetValue()); }