11接口名字的隐藏
几个不同的接口的实现---每个接口都可能含有大量的成员-----可能很快会使你的类的public名称空间遭到那些在实现类的作用域以外没有意义的成员的污染.(----也就是说并不是继承的接口的所有函数都必须暴露给外边,有的不需要暴露,只是自己内部使用)
你可以防止接口中被实现的成员成为该类的public成员,这就用到成为名字隐藏)(name hiding)的技术.
public interface IDataBound
{
void Bind();
}
public class EditBox:IDataBound
{
void IDataBound.Bind()
{
Console.WriteLine("Binding to data store");
}
}
main()
{
EditBox edit=new EditBox();
edit.Bind();//error!
IDataBound bound=(IDataBound)edit;
bound.Bind();
}
注意:当你隐藏一个成员的时候,不能使用访问限定符.如果你试图在一个被实现的接口成员上使用访问限定符,会产生一个编译错误.