阴影 (Visual Basic)

指定声明的编程元素在基类中重新声明并隐藏同名元素或重载元素集。

注解

隐藏(也称为 按名称隐藏)的主要目的是保留类成员的定义。 基类可能会发生更改,该更改创建与已定义的元素同名的元素。 如果发生这种情况,Shadows 修饰符会强制将通过你的类的引用解析为你定义的成员,而不是新的基类元素。

阴影和重写重新定义继承的元素,但两种方法之间存在显著差异。 有关详细信息,请参阅 Visual Basic 中的阴影

规则

  • 声明上下文。 只能在类级别使用 Shadows 。 这意味着元素的 Shadows 声明上下文必须是类,不能是源文件、命名空间、接口、模块、结构或过程。

    只能在单个声明语句中声明一个阴影元素。

  • 组合修饰符。 不能一Overloads起指定,Overrides也不能Static在同一声明中指定Shadows

  • 元素类型。 可以使用任何其他类型隐藏任何类型的声明元素。 如果使用另一个属性或过程隐藏属性或过程,则参数和返回类型不必与基类属性或过程中的参数或过程匹配。

  • 访问。 基类中的阴影元素通常从隐藏它的派生类中不可用。 但是,以下注意事项适用。

    • 如果无法从引用它的代码访问阴影元素,则引用将解析为阴影元素。 例如,如果 Private 元素隐藏基类元素,则无权访问元素的代码将改为访问 Private 基类元素。

    • 如果对某个元素进行阴影处理,则仍可以通过使用基类类型声明的对象访问阴影元素。 还可以通过 MyBase. 访问它。

修饰 Shadows 符可用于以下上下文:

另请参阅