如何:向类添加字段和属性

更新:2007 年 11 月

可以使用字段和属性在对象中存储信息。虽然从客户端应用程序角度来看,字段和属性几乎无法区别,但在类中声明它们的方式不同。字段只是类所公开的简单公共变量,而属性使用 Property 过程控制如何设置或返回值。

向类添加字段

  • 在类定义中声明一个公共变量,如下面的代码所示:

    Class ThisClass
        Public ThisField As String
    End Class
    

向类添加属性

  1. 在类中声明一个局部变量来存储属性值。因为属性不会自行分配任何存储区,所以该步骤是必需的。若要保护它们的值不被直接修改,应当将用于存储属性值的变量声明为 Private。

  2. 根据需要以修饰符(如 Public 和 Shared)作为属性声明的开头。使用 Property 关键字声明属性名称,并声明属性存储和返回的数据类型。

  3. 在属性定义内定义 Get 和 Set 属性过程。Get 属性过程用于返回属性值,其在语法上与函数大致等效。它们不接受参数,并可用于返回私有局部变量的值,这些变量在类中声明并用于存储属性值。Set 属性过程用于设置属性值;它们有一个参数(通常称为 Value),其数据类型与属性本身相同。每当属性值更改时,Value 均会被传递给 Set 属性过程,在该过程中可以验证它并将其存储在一个局部变量中。

  4. 使用相应的 End Get 和 End Set 语句终止 Get 和 Set 属性过程。

  5. 使用 End Property 语句终止属性块。

    说明:

    如果您是在 Visual Studio 集成开发环境 (IDE) 中工作,可以指示它创建空的 Get 和 Set 属性过程。键入 Property PropName As DataType(其中,PropName 是属性的名称,DataType 是特定的数据类型,如 Integer),属性过程将出现在“代码编辑器”中。

    下面的示例在类中声明一个属性:

    Class ThisClass
        Private m_PropVal As String
        Public Property One() As String
            Get
                ' Return the value stored in the local variable.
                Return m_PropVal
            End Get
            Set(ByVal Value As String)
                ' Store the value in a local variable.
                m_PropVal = Value
            End Set
        End Property
    End Class
    

    当创建 ThisClass 的一个实例并设置 One 属性的值时,将调用 Set 属性过程且该值在 Value 参数中传递,该参数存储在名为 m_PropVal 的局部变量中。当检索到此属性值时,将像函数那样调用 Get 属性过程并返回存储在局部变量 m_PropVal. 中的值。

请参见

任务

如何:向类中添加事件

概念

属性和属性过程

参考

Property 语句

Public (Visual Basic)

Shared (Visual Basic)