在升级过程中,我遇到了类似这样的代码。接口的隐式和显式实现
interface ICustomization
{
IMMColumnsDefinition GetColumnsDefinition();
}
class Customization : ICustomization
{
private readonly ColumnDefinition _columnDefinition;
//More code here.
public ColumnsDefinition GetColumnsDefinition()
{
return _columnDefinition;
}
ColumnsDefinition ICustomization.GetColumnsDefinition() //redundant
{
return GetColumnsDefinition();
}
}
我的问题是: 有没有在这段代码的任何需要/使用的界面的“显性”的实施? 如果我删除上面标记为“冗余”的方法(显式实现接口),它会产生任何问题吗? PS:我明白接口的显式实现是非常重要的,当我们只需要在接口级别访问一个方法,并且使用两个具有相同方法签名的接口时,它就可以使用。
为什么要有一个虚拟的非显式实现是一个明确的实现的原因?如果你实现了并且创建了一个子类,那么如果你调用引用子类对象的接口变量的方法会发生什么?你能提供一个例子吗? _also看到[我的问题](http://stackoverflow.com/q/10165296/537956)._ – comecme 2012-04-15 19:49:59