私は現在、MS70-515試験の勉強をしています。プラクティスの1つでは、作成者は暗黙的および明示的なインターフェイスを実装します。明示的な実装は、暗黙的な実装を呼び出すだけです。明示的な実装は、説明なしでリストされています。
インターフェイスの暗黙的実装と明示的実装の両方を持つことは理にかなっていますか?明示的な実装は冗長だと思います(この場合)。
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();
}
}
ところで、暗黙的な実装はパブリックであるため、コードは明示的な実装がなくても問題なく実行されるようです。
これは、MCTS Self-Paced Training Kit(Exam 70-515):Microsoft .NET Framework 4を使用したWebアプリケーション開発第9章、レッスン2、実践3に関係しています。