Когда вы явно реализуете интерфейс, явная реализация будет вызываться, только если вы вызываете его из ссылки на этот интерфейс.
так что если вы напишите:
TwoInterfacesHavingSameMethodName obj1 = new TwoInterfacesHavingSameMethodName();
obj1.CurrentTime();
вы получите ошибку.
но
ISample1 obj1 = new TwoInterfacesHavingSameMethodName();
ISample2 obj2 = new TwoInterfacesHavingSameMethodName();
obj1.CurrentTime();
obj2.CurrentTime();
будет работать.
если вы хотите вызывать эту функцию также на TwoInterfacesHavingSameMethodName
, вы должны также неявно реализовать интерфейс. Например:
public string CurrentTime()
{
return "Implicit";
}