Udostępnij za pośrednictwem


Procedury operatorów (Visual Basic)

Procedurę operator jest serią Visual Basic instrukcji, które definiują zachowanie operatora standardowe (takie jak *, <>, lub And) na klasy lub struktury, które zostały zdefiniowane.Jest to tak zwane przeciążanie operatora.

Podczas definiowania procedur operatora

Po zdefiniowaniu klasy lub struktury można zadeklarować zmienne typu tej klasy lub struktury.Czasami takiej zmiennej musi uczestniczyć w operacji jako część wyrażenia.Aby to zrobić, należy operand operatora.

Visual BasicDefiniuje operatorów tylko na jego typów podstawowych danych.Można zdefiniować zachowanie operatora, gdy jeden lub oba operandy są typu klasy lub struktury.

Aby uzyskać więcej informacji, zobacz Operator — Instrukcja.

Rodzaje procedury operatora

Procedura operator może być jednym z następujących typów:

  • Definicja operator unarny, gdzie jest argumentem typu klasy lub struktury.

  • Definicja operatora binarnego, gdzie jest co najmniej jeden z argumentów typu klasy lub struktury.

  • Definicja operatora konwersji, w których argument jest typu klasy lub struktury.

  • Definicja operatora konwersji, która zwraca typ klasy lub struktury.

Operatory konwersji są zawsze jednoargumentowe i zawsze używać CType jako operatora, są definiowane.

Składnia deklaracji

Składnia deklaracji procedurę operator jest w następujący sposób:

Public Shared [Widening | Narrowing] Operatoroperatorsymbol (operand1 [, operand2]) As datatype

' Statements of the operator procedure.

End Operator

Za pomocą Widening lub Narrowing słowa kluczowego tylko na operatora konwersji typu.Symbol operatora jest zawsze CType — Funkcja (Visual Basic) dla operatora konwersji typu.

Stwierdzenie dwa operandy określenie operatora binarnego i zadeklarować jeden operand do definiowania operator unarny, łącznie z operatora konwersji typu.Wszystkie argumenty muszą być zadeklarowane ByVal.

Zadeklarować ten sam sposób można deklarować parametrów dla każdego argumentu Sub — Procedury (Visual Basic).

Typ danych

Ponieważ operator są definiowane na klasy lub struktury, które zostały zdefiniowane, co najmniej jeden z argumentów musi być typu danych, że klasy lub struktury.Dla operatora konwersji do typ operandu lub typ zwrotny musi być typu danych klasy lub struktury.

Aby uzyskać więcej informacji, zobacz Operator — Instrukcja.

Składnia wywołania

Wszcząć procedurę operator jest niejawnie przy użyciu symbolu operatora w wyrażeniu.Operandy podać ten sam sposób jak dla operatorów wstępnie zdefiniowanych.

Składnia niejawna wywołanie procedury operator jest w następujący sposób:

Dim testStruct As structurename

Dim testNewStruct As structurename = testStruct operatorsymbol 10

Ilustracja deklaracji i wywołanie

Następującą strukturę przechowuje wartość całkowita 128-bitowa, jako części składowe kolejności wysokiej i niskiej zamówienia.Definiuje on + operatora, aby dodać dwa veryLong wartości i wygenerować wynikające veryLong wartości.

Public Structure veryLong
    Dim highOrder As Long 
    Dim lowOrder As Long 
    Public Shared Operator +(ByVal v As veryLong, 
                             ByVal w As veryLong) As veryLong
        Dim sum As New veryLong
        sum = v
        Try
            sum.lowOrder += w.lowOrder
        Catch ex As System.OverflowException
            sum.lowOrder -= (Long.MaxValue - w.lowOrder + 1)
            sum.highOrder += 1
        End Try
        sum.highOrder += w.highOrder
        Return sum
    End Operator 
End Structure

W poniższym przykładzie pokazano typowy wywołanie + operator zdefiniowane na veryLong.

Dim v1, v2, v3 As veryLong
v1.highOrder = 1
v1.lowOrder = Long.MaxValue
v2.highOrder = 0
v2.lowOrder = 4
v3 = v1 + v2

Aby uzyskać dodatkowe informacje i przykłady, zobacz Przeciążanie operatora, w języku Visual Basic 2005.

Zobacz też

Zadania

Porady: definiowanie operatora (Visual Basic)

Porady: definiowanie operatora konwersji (Visual Basic)

Porady: wywoływanie procedury operatora (Visual Basic)

Porady: używanie klasy definiującej operatory (Visual Basic)

Informacje

Operator — Instrukcja

Koncepcje

Procedury w Visual Basic

Sub — Procedury (Visual Basic)

Procedury funkcji (Visual Basic)

Procedury własności (Visual Basic)

Parametry i argumenty procedur (Visual Basic)