In Visual Studio posso fare clic con il pulsante destro del mouse su un'interfaccia e scegliere Implementa interfaccia o Implementa interfaccia esplicitamente.
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à dell'interfaccia e ai metodi quando vengono creati se si sceglie di implementare l'interfaccia in modo esplicito.
Trovo che rende il codice un po 'più leggibile dal momento che posso vedere da dove proviene quel metodo / proprietà, tuttavia questo fa alcuna differenza nel modo in cui la classe viene usata o compilata? E importa davvero se implemento le mie interfacce in modo implicito o esplicito?