我目前正在学习我的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();
}
}顺便说一句,由于隐式实现是公开的,没有显式实现,代码似乎运行得很好。
它涉及第9章,第2课,练习3,准确地说。
发布于 2012-04-15 19:37:20
显式的实现似乎是完全多余的。
我想不出一种叫它的方法,如果你忽略了它,它就会有什么不同。
有一个小的区别,隐式版本是虚拟的,意味着它可以被覆盖。在此入口点将始终调用显式版本。但是,由于它只调用虚拟成员,所以此处不使用此差异。
https://stackoverflow.com/questions/10165296
复制相似问题