Freigeben über


Gewusst wie: Konvertieren eines benutzerdefinierten Typs in eine Visual Basic-Struktur

Aktualisiert: November 2007

Die Type-Anweisung von Visual Basic 6.0 wird auf die Structure-Anweisung von Visual Basic 2008 aktualisiert. In diesem Thema werden außerdem zwei weitere Optionen zum Aktualisieren des Typs erläutert: Konvertieren in eine Klasse und Konvertieren in eine Schnittstelle.

In der unten dargestellten Vorgehensweise wird der folgende Visual Basic 6.0-Typ behandelt:

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

Ein Visual Basic 6.0-Typ wird vom Aktualisierungs-Assistenten automatisch auf eine Visual Basic 2008-Struktur aktualisiert. Die Structure-Anweisung ist ein Typ, der Member unterstützt, z. B. Methoden und Eigenschaften.

So aktualisieren Sie einen Typ auf eine Struktur

  1. Führen Sie den Aktualisierungs-Assistenten aus.

    Hinweis:

    Der Aktualisierungs-Assistent ist ein Tool zum Aktualisieren einer Visual Basic 6.0-Anwendung auf Visual Basic 2008. Es wird automatisch gestartet, wenn in Visual Basic 2008 ein Visual Basic 6.0-Projekt geöffnet wird. Weitere Informationen finden Sie unter Gewusst wie: Aktualisieren eines Projekts mit dem Visual Basic-Aktualisierungs-Assistenten.

  2. Wenn Sie andere Features des Structure-Typs nutzen möchten, verwenden Sie Methoden, die eher zur Struktur gehören. In diesem Beispiel konnte die FormatFullName-Methode in eine FormatFullName-Methode in der Struktur konvertiert werden:

    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
    

Ein Visual Basic 6.0-Typ wird vom Aktualisierungs-Assistenten automatisch auf eine Visual Basic 2008-Struktur aktualisiert. Der Class-Typ unterstützt zwar die gleichen Member wie eine Structure-Anweisung, es handelt sich allerdings um einen Referenztyp. Eine Klasse kann als Basisklasse dienen, eine Struktur dagegen nicht.

So aktualisieren Sie eine Struktur auf eine Klasse

  1. Führen Sie den Aktualisierungs-Assistenten aus.

  2. Ersetzen Sie Structure durch Class.

  3. Wenn Sie andere Features des Class-Typs nutzen möchten, verwenden Sie Methoden, die eher zur Struktur gehören. Im folgenden Code werden die Integration von FormatFullName in die Klasse und die Id -Eigenschaft dargestellt.

    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
    

Die dritte Option besteht darin, die Struktur in eine Schnittstelle zu konvertieren.

So aktualisieren Sie die Struktur auf eine Schnittstelle

  1. Führen Sie den Aktualisierungs-Assistenten aus.

  2. Ersetzen Sie Structure durch Interface.

  3. Ersetzen Sie Variablen durch Eigenschaftendeklarationen. Fügen Sie nicht die Implementierung hinzu.

  4. Fügen Sie Methoden hinzu, aber entfernen Sie die Implementierung.

  5. Der Code könnte wie folgt aussehen:

    Interface Customer
        Property FirstName() As String
        Property LastName() As String
        Property Id() As String
    
        Function FormatFullName() As String
    End Interface
    
  6. Die Schnittstelle kann danach von einer anderen Klasse implementiert werden. Die Definition wird unten dargestellt.

    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
    

Siehe auch

Aufgaben

Gewusst wie: Aktualisieren eines Projekts mit dem Visual Basic-Aktualisierungs-Assistenten

Referenz

Structure-Anweisung

Class-Anweisung (Visual Basic)

Interface-Anweisung (Visual Basic)