VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > VB.net教程 >
  • Module 语句

声明模块的名称,并引入模块包含的变量、属性、事件和过程的定义。

[ <attributelist> ] [ accessmodifier ]  Module name
    [ statements ]
End Module

部件

  • attributelist
    可选。 请参见特性列表 (Visual Basic)。

  • accessmodifier
    可选。 可以是如下内容之一:

    • Public

    • Friend

    请参见Visual Basic 中的访问级别。

  • name
    必选。 此模块的名称。 请参见已声明的元素名称 (Visual Basic)。

  • statements
    可选。 定义此模块的变量、属性、事件、过程和嵌套类型的语句。

  • End Module
    终止 Module 定义。

备注

Module 语句定义了在其整个命名空间中都可用的引用类型。 “模块”(有时称为“标准模块”)类似于类,但有一些重要的差别。 每个模块均正好有一个实例,并且无需创建此实例或将其赋给变量。 模块不支持继承,也不实现接口。 请注意,从类或结构是类型这一意义上说,模块并非类型 - 您无法将编程元素声明为具有模块的数据类型。

仅可以在命名空间级别使用 Module。 这意味着模块的声明上下文必须是源文件或命名空间,而不能是类、结构、模块、接口、过程或块。 无法在一个模块或任何类型中嵌套另一个模块。 有关更多信息,请参见声明上下文和默认访问级别 (Visual Basic)。

模块具有与程序相同的生存期。 由于它的成员全都为 Shared,因此,它们也都具有与程序相同的生存期。

模块默认为 Friend (Visual Basic) 访问级别。 可以使用访问修饰符来调整它们的访问级别。 有关更多信息,请参见 Visual Basic 中的访问级别。

模块的所有成员均隐式地为 Shared。

类和模块

这些元素具有许多相似性,但是也存在一些重要的差异。

  • **术语。**以前的 Visual Basic 版本识别两种类型的模块:类模块(.cls 文件)和标准模块(.bas 文件)。 当前版本会分别调用这些类和模块。

  • **共享成员。**可以控制类的成员是共享成员还是实例成员。

  • **面向对象。**类是面向对象的,但模块不是。 因此,只能将类实例化为对象。 有关更多信息,请参见 Visual Basic 中的对象和类。

规则

  • **修饰符。**所有模块成员均隐式地为 Shared (Visual Basic)。 在声明成员时,无法使用 Shared 关键字,而且无法更改任何成员的共享状态。

  • **继承。**模块无法从除 Object(所有模块均从它继承)外的任何类型继承。 特别地,一个模块无法从另一个模块继承。

    无法在模块定义中使用 Inherits 语句,即使是指定 Object 亦为如此。

  • **默认属性。**不能在模块中定义任何默认属性。 有关更多信息,请参见 Default (Visual Basic)。

行为

  • **访问级别。**在模块中,可以利用成员自己的访问级别来声明每个成员。 模块成员默认为 Public (Visual Basic) 访问级别,但变量和常数除外,它们默认为 Private (Visual Basic) 访问级别。 如果模块的访问级别在限制性上高于其一个成员的访问级别,则指定的模块访问级别将具有优先权。

  • **范围。**模块的范围贯穿其命名空间。

    每个模块成员的范围是整个模块。 请注意,所有成员都会经受类型提升,这将使它们的范围提升到包含模块的命名空间。 有关更多信息,请参见 类型提升 (Visual Basic)。

  • **限定。**可以在一个项目中具有多个模块,而且可以在两个或更多个模块中声明名称相同的成员。 但是,如果从模块外引用此类成员,则必须用适当的模块名称来限定此类成员。 有关更多信息,请参见 对已声明元素的引用 (Visual Basic)。

示例

VB
Public Module thisModule
    Sub Main()
        Dim userName As String = InputBox("What is your name?")
        MsgBox("User name is" & userName)
    End Sub
    ' Insert variable, property, procedure, and event declarations.
End Module

 

原文链接:https://docs.microsoft.com/zh-cn/previous-versions/visualstudio/visual-studio-2010/aaxss7da(v=vs.100)

相关教程