En Visual Studio puedo hacer clic con el botón derecho en una interfaz y elegir Implementar interfaz o Implementar interfaz explícitamente.
public class Test : ITest
{
public string Id // Generated by Implement Interface
{
get { throw new NotImplementedException(); }
}
string ITest.Id // Generated by Implement Interface Explicitly
{
get { throw new NotImplementedException(); }
}
}
La única diferencia que veo entre los dos es que el nombre de la interfaz se agrega a las propiedades y los métodos de la interfaz cuando se crean si elige Implementar la interfaz explícitamente.
Encuentro que hace que el código sea un poco más legible ya que puedo ver de dónde proviene ese método / propiedad, sin embargo, ¿esto hace alguna diferencia en la forma en que se usa o compila la clase? ¿Y realmente importa si implemento mis interfaces implícita o explícitamente?