Di Visual Studio saya dapat mengklik kanan pada antarmuka dan memilih untuk Menerapkan Antarmuka, atau Menerapkan Antarmuka Secara Eksplisit.
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(); }
}
}
Satu-satunya perbedaan yang saya lihat di antara keduanya adalah bahwa nama antarmuka ditambahkan ke properti antarmuka dan metode ketika mereka dibuat jika Anda memilih untuk mengimplementasikan antarmuka secara eksplisit.
Saya merasa itu membuat kode sedikit lebih mudah dibaca karena saya bisa melihat dari mana metode / properti itu berasal, namun apakah ini membuat perbedaan dalam bagaimana kelas digunakan atau dikompilasi? Dan apakah itu penting jika saya mengimplementasikan antarmuka saya secara implisit atau eksplisit?