Практическое руководство. Преобразование пользовательского типа в структуру Visual Basic

Обновлен: Ноябрь 2007

Оператор Type приложения Visual Basic 6.0, обновлен до оператора Structure приложения Visual Basic 2008. В этом разделе также рассматриваются два других варианта обновления типа: преобразование в класс или преобразование в интерфейс.

В приведенных ниже процедурах рассматривается следующий тип 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(ru-ru,VS.90).gifПримечание.

    Мастер обновления — это средство, используемое для обновления приложений Visual Basic 6.0 до версии Visual Basic 2008. Он автоматически запускается при открытии проекта Visual Basic 6.0 в Visual Basic 2008. Дополнительные сведения см. в разделе Практическое руководство. Обновление проекта с помощью мастера обновления 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
    

Третьим вариантом является преобразование структуры в интерфейс.

Обновление до интерфейса

  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)