Share via


Cómo: Convertir un tipo definido por el usuario en una estructura de Visual Basic

Actualización: noviembre 2007

La instrucción Type de Visual Basic 6.0 se actualiza a la instrucción Structure de Visual Basic 2008. En este tema se explican también otras dos opciones para actualizar tipos: la conversión a una clase y la conversión a una interfaz.

El tipo de Visual Basic 6.0 siguiente se explica en los procedimientos que se incluyen a continuación:

Type Customer
    Dim FirstName As String
    Dim LastName As String
    Dim Id As Long
End Type

Private Function FormatFullName(aCustomer As Customer) As String
    FormatFullName = aCustomer.FirstName & " " & aCustomer.LastName
End Function

El Asistente para actualización actualiza automáticamente un tipo de Visual Basic 6.0 a una estructura de Visual Basic 2008. Structure es un tipo que admite miembros, como métodos y propiedades.

Para actualizar un tipo a una estructura

  1. Ejecute el Asistente para actualización.

    Nota:

    El Asistente para actualización es una herramienta que se utiliza para actualizar una aplicación de Visual Basic 6.0 a Visual Basic 2008. Se inicia automáticamente cuando se abre un proyecto de Visual Basic 6.0 en Visual Basic 2008. Para obtener más información, vea Cómo: Actualizar un proyecto con el Asistente para actualización de Visual Basic.

  2. Si desea aprovechar otras características del tipo Structure, busque métodos que se adecúen mejor a la estructura. En este ejemplo, el método FormatFullName podría convertirse en un método FormatFullName en la estructura:

    Structure Customer
        Dim FirstName As String
        Dim LastName As String
        Dim Id As Integer
    
        Public Function FormatFullName() As String
            Return FirstName & " " & LastName
        End Function
    End Structure
    

El Asistente para actualización actualizará automáticamente un tipo de Visual Basic 6.0 a una estructura de Visual Basic 2008. El tipo Class admite los mismos miembros que Structure, pero es un tipo de referencia. Una clase puede actuar como una clase base, mientras que una estructura no puede.

Para actualizar a una clase

  1. Ejecute el Asistente para actualización.

  2. Reemplace Structure por Class.

  3. Si desea aprovechar otras características del tipo Class, busque métodos que se adecúen mejor a la estructura. El código siguiente muestra la incorporación de FormatFullName a la clase, y la propiedad Id .

    Class Customer
        Dim FirstName As String
        Dim LastName As String
        Private idValue As Integer
    
        Public Property Id() As Integer
            Get
                Return idValue
            End Get
            Set(ByVal Value As Integer)
                idValue = Value
            End Set
        End Property
    
        Public Function FormatFullName() As String
            Return FirstName & " " & LastName
        End Function
    End Class
    

Una tercera opción es convertir la estructura en una interfaz.

Para actualizar a una interfaz

  1. Ejecute el Asistente para actualización.

  2. Reemplace Structure por Interface.

  3. Reemplace las variables con declaraciones de propiedad. No incluya la implementación.

  4. Agregue métodos, pero elimine la implementación.

  5. El código podría tener el siguiente aspecto:

    Interface Customer
        Property FirstName() As String
        Property LastName() As String
        Property Id() As String
    
        Function FormatFullName() As String
    End Interface
    
  6. Otra clase puede implementar a continuación la interfaz. La definición se muestra a continuación.

    Class NewCustomer
        Implements Customer
    
        Public Property FirstName() As String Implements Customer.FirstName
            Get
                ' Add code here.
            End Get
            Set(ByVal Value As String)
                ' Add code here.
            End Set
        End Property
    
        Public Property Id() As String Implements Customer.Id
            Get
                ' Add code here.
            End Get
            Set(ByVal Value As String)
                ' Add code here.
            End Set
        End Property
    
        Public Property LastName() As String Implements Customer.LastName
            Get
                ' Add code here.
            End Get
            Set(ByVal Value As String)
                ' Add code here.
            End Set
        End Property
    
        Public Function FormatFullName() As String _
            Implements Customer.FormatFullName
            ' Add code here.
        End Function
    End Class
    

Vea también

Tareas

Cómo: Actualizar un proyecto con el Asistente para actualización de Visual Basic

Referencia

Structure (Instrucción)

Instrucción Class (Visual Basic)

Instrucción Interface (Visual Basic)