Во время работы над обновлением я случайно наткнулся на такой код.
interface ICustomization
{
IMMColumnsDefinition GetColumnsDefinition();
}
class Customization : ICustomization
{
private readonly ColumnDefinition _columnDefinition;
//More code here.
public ColumnsDefinition GetColumnsDefinition()
{
return _columnDefinition;
}
ColumnsDefinition ICustomization.GetColumnsDefinition() //redundant
{
return GetColumnsDefinition();
}
}
Мой вопрос:
Есть ли необходимость / использование «явной» реализации интерфейса в этом фрагменте кода?
Будет ли это создавать какие-либо проблемы, если я удалю метод (явная реализация интерфейса), который я пометил как «избыточный» выше?
PS: Я понимаю, что явная реализация интерфейса очень важна, и ее можно использовать, когда нам нужно предоставить доступ к методу только на уровне интерфейса и использовать два интерфейса с одинаковой сигнатурой метода.