implementação explícita da interface não pode ser virtual

Para o registro, eu já vi issoconnect item mas não consigo entender qual seria o problema em apoiar iss

Diga que tenho o seguinte código:

public interface IInterface
{
    void Method();
}

public class Base : IInterface
{
    virtual void IInterface.Method()
    {
        throw new NotImplementedException();
    }
}

qual é o problema com o identificador virtual? Ter um modificador virtual tornaria possíveloverride indicando que há uma implementação diferente na classe base. Eu posso fazê-lo funcionar agora removendo o método virtual e criando a classe derivada como esta:

public class Derived : IInterface
{
    void IInterface.Method()
    {
        throw new NotImplementedException();
    }
}

e qualquer forma, não tenho nenhuma indicação de que estou substituindo alguma cois

Atualizar
De acordo com a especificação C # (parte: 20.4.1 Implementações explícitas dos membros da interface), existem 2 motivo

cultar certos métodos (para os quais estou usandoendo duas funções com a mesma assinatura, mas com tipos de retorno diferentes (úteis para o IClonable, por exemplo

No entanto, não diz nada sobre por que você não pode tornar esses métodos virtuai

Update2:
Dadas as respostas, acho que devo reformular a pergunta real aqui. Se as duas razões acima são a razão pela qual a implementação explícita de interfaces foi possível em primeiro lugar. Por que seria um problema se você tornar um método virtual.

questionAnswers(5)

yourAnswerToTheQuestion