方法 : ユーザー定義型を Visual Basic の構造体に変換する

更新 : 2007 年 11 月

Visual Basic 6.0 の Type ステートメントは、Visual Basic 2008 では Structure ステートメントにアップグレードされます。また、型をアップグレードする他の 2 つのオプションである、クラスへの変換およびインターフェイスへの変換についても説明します。

以下では、次の Visual Basic 6.0 型を例として説明を進めます。

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

アップグレード ウィザードは、Visual Basic 6.0 の型を自動的に Visual Basic 2008 の構造体にアップグレードします。Structure は、メソッド、プロパティなどのメンバをサポートするデータ型です。

型を構造体にアップグレードするには

  1. アップグレード ウィザードを実行します。

    6s6zzdks.alert_note(ja-jp,VS.90).gifメモ :

    アップグレード ウィザードは、Visual Basic 6.0 アプリケーションを Visual Basic 2008 にアップグレードするためのツールです。Visual Basic 2008 で Visual Basic 6.0 プロジェクトを開くと、このウィザードが自動的に起動します。詳細については、「方法 : Visual Basic アップグレード ウィザードを使ってプロジェクトをアップグレードする」を参照してください。

  2. Structure 型の他の機能を利用する場合は、構造体に含めるのが適切なメソッドを探します。次のコード例では、FormatFullName メソッドが構造体内の FormatFullName メソッドに変換されます。

    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
    

アップグレード ウィザードは、Visual Basic 6.0 の型を自動的に Visual Basic 2008 の構造体にアップグレードします。Class 型は、サポートしているメンバは Structure と同じですが、参照型です。クラスは基本クラスになることができますが、構造体は基本クラスになれません。

クラスへアップグレードするには

  1. アップグレード ウィザードを実行します。

  2. Structure を Class に置き換えます。

  3. Class 型の他の機能を利用する場合は、構造体に含めるのが適切なメソッドを探します。次のコード例は、クラスへの FormatFullName の組み込みと 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
    

構造体をインターフェイスに変換するという、3 番目のオプションがあります。

インターフェイスへアップグレードするには

  1. アップグレード ウィザードを実行します。

  2. Structure を Interface に置き換えます。

  3. 変数をプロパティ宣言に置き換えます。実装は含めません。

  4. メソッドは追加しますが、実装は削除します。

  5. コードは次のようになります。

    Interface Customer
        Property FirstName() As String
        Property LastName() As String
        Property Id() As String
    
        Function FormatFullName() As String
    End Interface
    
  6. このインターフェイスは、別のクラスに実装できます。定義を以下に示します。

    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
    

参照

処理手順

方法 : Visual Basic アップグレード ウィザードを使ってプロジェクトをアップグレードする

参照

Structure ステートメント

Class ステートメント (Visual Basic)

Interface ステートメント (Visual Basic)