Сейчас я готовлюсь к экзамену MS 70-515. В одной из практик автор реализует интерфейс как неявный, так и явный. Явная реализация просто вызывает неявную реализацию. Явная реализация просто указана без пояснений.
Имеет ли смысл иметь как неявную, так и явную реализацию интерфейса? Я думаю, что явная реализация избыточна (в данном случае).
public class PassTextBox : TextBox, IScriptControl
{
public virtual IEnumerable GetScriptDescriptors()
{
var descriptor = new ScriptControlDescriptor(
"AjaxEnabled.PassTextBox", ClientID);
//...
return new ScriptDescriptor[] {descriptor};
}
IEnumerable IScriptControl.GetScriptDescriptors()
{
return GetScriptDescriptors();
}
}
Кстати, кажется, что код работает нормально без явной реализации, так как неявная реализация общедоступна.
Это касается MCTS Self-Paced Training Kit (Exam 70-515):Разработка веб-приложений с помощью Microsoft.NET Framework 4 Глава 9, урок 2, практика 3. точный.