实现接口隐式和显式是否有意义?

com*_*cme 7 c# explicit interface implicit

我正在攻读MS 70-515考试.在其中一个实践中,作者实现了隐式和显式的接口.显式实现只调用隐式实现.刚才列出了显式实现而没有解释.

同时拥有接口的隐式和显式实现是否有意义?我认为显式实现是多余的(在这种情况下).

public class PassTextBox : TextBox, IScriptControl
{
    public virtual IEnumerable<ScriptDescriptor> GetScriptDescriptors()
    {
        var descriptor = new ScriptControlDescriptor(
            "AjaxEnabled.PassTextBox", ClientID);
        // ...
        return new ScriptDescriptor[] {descriptor};
    }

    IEnumerable<ScriptDescriptor> IScriptControl.GetScriptDescriptors()
    {
        return GetScriptDescriptors();
    }
}
Run Code Online (Sandbox Code Playgroud)

顺便说一句,代码似乎在没有显式实现的情况下运行得很好,因为隐式实现是公开的.

它涉及MCTS Self-Paced Training Kit(考试70-515):使用Microsoft .NET Framework进行Web应用程序开发4第9章,第2课,练习3.

Hen*_*man 10

显式实现似乎完全是多余的.

我想不出一种方法可以把它称之为如果你把它留下来会有所作为.

有一个小的区别,隐式版本是虚拟意味着它可以被覆盖.将始终在此入口点调用显式版本.但由于它只调用虚拟成员,因此此处不使用差异.