Udostępnij za pośrednictwem


Operator procedur (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 Instrukcja operatora.

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 Funkcja CType (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 Procedury typu Sub (Visual Basic).

xh17yw4c.collapse_all(pl-pl,VS.110).gifTyp 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 Instrukcja operatora.

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

xh17yw4c.collapse_all(pl-pl,VS.110).gifIlustracja 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

Jak: Definiowanie Operator (Visual Basic)

Jak: Definiowanie operatora konwersji (Visual Basic)

Jak: wywołanie procedury operatora (Visual Basic)

Jak: użycie klasy, która definiuje operatorów (Visual Basic)

Informacje

Instrukcja operatora

Koncepcje

Procedury języka Visual Basic

Procedury typu Sub (Visual Basic)

Procedury typu Function (Visual Basic)

Właściwość procedur (Visual Basic)

Parametry procedury i argumenty (Visual Basic)