У Visual Studio я можу клацнути правою кнопкою миші інтерфейс і вибрати Інтерфейс реалізації або Явно реалізувати інтерфейс.
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(); }
}
}
Єдина відмінність, яку я бачу між ними, полягає в тому, що ім'я інтерфейсу додається до властивостей інтерфейсу та методів, коли вони створюються, якщо ви вирішите явно реалізувати інтерфейс.
Я вважаю, що це робить код трохи читабельнішим, оскільки я бачу, звідки береться цей метод / властивість, однак чи має це значення будь-яке значення в тому, як використовується клас чи компілюється клас? І чи дійсно це важливо, якщо я реалізую свої інтерфейси неявно або явно?