首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实现接口隐式和显式是否有意义?

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

Stack Overflow用户
提问于 2012-04-15 19:29:11
回答 1查看 340关注 0票数 7

我目前正在学习我的MS 70-515考试。在其中一个实践中,作者实现了一个隐式和显式的接口。显式实现只调用隐式实现。显式实现只是在没有解释的情况下列出。

接口的隐式实现和显式实现都有意义吗?我认为显式实现是多余的(在本例中)。

代码语言:javascript
复制
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();
    }
}

顺便说一句,由于隐式实现是公开的,没有显式实现,代码似乎运行得很好。

它涉及第9章,第2课,练习3,准确地说。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-15 19:37:20

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

我想不出一种叫它的方法,如果你忽略了它,它就会有什么不同。

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

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10165296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档