Shadows (Visual Basic)
指示此声明的编程元素重新声明并隐藏基类中具有相同名称的元素(或重载元素集)。
注解
隐藏(也称为按名称隐藏)的主要目的是保留类成员的定义。 基类可能会发生更改,该更改将创建一个与你已定义的元素同名的元素。 如果发生这种情况,Shadows
修饰符会强制将通过你的类的引用解析为你定义的成员,而不是新的基类元素。
隐藏和重写操作都可重新定义继承的元素,但这两种方法之间又具有很大的差异。 有关详细信息,请参阅 Visual Basic 中的阴影操作。
规则
声明上下文。 你只能在类级别使用
Shadows
。 这意味着Shadows
元素的声明上下文必须是类,不能是源文件、命名空间、模块、结构或过程。你只能在单个声明语句中声明一个隐藏元素。
组合修饰符。 不能在同一过程声明中同时指定
Shadows
和Overloads
、Overrides
或Static
。元素类型。 可以与任何其他类型一起隐藏任何类型的已声明元素。 如果用另一个属性或过程遮蔽一个属性或过程,则参数和返回类型不必与基类属性或过程中的参数或返回类型匹配。
访问。 基类中的隐藏元素通常在隐藏它的派生类中不可用。 但是,请注意以下事项:
如果无法从引用隐藏元素的代码中访问隐藏元素,则将引用解析为被隐藏元素。 例如,如果
Private
元素隐藏一个基类元素,则无权访问Private
元素的代码会改为访问该基类元素。如果你隐藏了一个元素,你仍然可以通过一个声明为基类类型的对象来访问被隐藏元素。 你也可以通过
MyBase
来访问隐藏元素。
Shadows
修饰符可用于下面的上下文中: