En Visual Studio, puedo hacer clic 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 métodos de la interfaz cuando se crean si elige Implementar la interfaz explícitamente.
Creo 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 cómo se usa o compila la clase? ¿Y realmente importa si implemento mis interfaces implícita o explícitamente?