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
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.
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
Führen Sie den Aktualisierungs-Assistenten aus.
Ersetzen Sie Structure durch Class.
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
Führen Sie den Aktualisierungs-Assistenten aus.
Ersetzen Sie Structure durch Interface.
Ersetzen Sie Variablen durch Eigenschaftendeklarationen. Fügen Sie nicht die Implementierung hinzu.
Fügen Sie Methoden hinzu, aber entfernen Sie die Implementierung.
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
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