Como: Definir um operador
Se você tiver definido uma clsistema autônomos ou estrutura, você pode definir o comportamento de um operador padrão (tal sistema autônomo *, <>, ou And) quando um ou ambos dos operandos é do tipo de sua clsistema autônomos ou estrutura.
Defina o operador padrão sistema autônomo um procedimento de operador dentro da classe ou estrutura.All operator procedures must be Public Shared.
Definir um operador em uma classe ou estrutura também é chamado de sobrecarregar o operador.
Exemplo
O exemplo a seguir define o + operador para uma estrutura chamada height. A estrutura usa alturas medidas em pés e polegadas.One mover-se pouco a pouco é 2,54 centímetros e uma Metro é 12 polegadas.Para garantir valores normalizados (polegadas < 12.0), o construtor executaseqüências de módulo 12 aritmética.The + operador usa o construtor para gerar valores normalizados.
Public Shadows Structure height
' Need Shadows because System.Windows.Forms.Form also defines property Height.
Private feet As Integer
Private inches As Double
Public Sub New(ByVal f As Integer, ByVal i As Double)
Me.feet = f + (CInt(i) \ 12)
Me.inches = i Mod 12.0
End Sub
Public Overloads Function ToString() As String
Return Me.feet & "' " & Me.inches & """"
End Function
Public Shared Operator +(ByVal h1 As height, ByVal h2 As height) _
As height
Return New height(h1.feet + h2.feet, h1.inches + h2.inches)
End Operator
End Structure
Você pode testar a estrutura height com o seguinte código:
Public Sub consumeHeight()
Dim p1 As New height(3, 10)
Dim p2 As New height(4, 8)
Dim p3 As height = p1 + p2
Dim s As String = p1.ToString() & " + " & p2.ToString() _
& " = " & p3.ToString() & " (= 8' 6"" ?)"
Dim p4 As New height(2, 14)
s &= vbCrLf & "2' 14"" = " & p4.ToString() & " (= 3' 2"" ?)"
Dim p5 As New height(4, 24)
s &= vbCrLf & "4' 24"" = " & p5.ToString() & " (= 6' 0"" ?)"
MsgBox(s)
End Sub
Para obter mais informações e exemplos, consulte sobrecarga de operador no Visual Basic 2005.
Consulte também
Tarefas
Como: Define a Conversion operador
Como: telefonar um procedimento de operador
Como: Usar uma classe que define os operadores