In Visual Studio posso fare clic con il pulsante destro del mouse su un'interfaccia e scegliere Implementa interfaccia o Implementa esplicitamente l'interfaccia.
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(); }
}
}
L'unica differenza che vedo tra i due è che il nome dell'interfaccia viene aggiunto alle proprietà e ai metodi dell'interfaccia quando vengono creati se si sceglie di implementare l'interfaccia in modo esplicito.
Trovo che renda il codice un po 'più leggibile poiché posso vedere da dove proviene quel metodo / proprietà, tuttavia questo fa qualche differenza nel modo in cui la classe viene utilizzata o compilata? E importa davvero se implemento le mie interfacce in modo implicito o esplicito?