Nasıl yapılır: Bir İşleci Tanımlama (Visual Basic)
Bir sınıf veya yapıtanımladıysanız, standart işleç davranışını tanımlayabilirsiniz (gibi *, <>, veya And) biri veya her ikisi işlenen olduğunda sınıf veya yapıtürü.
sınıf veya yapıiçinde işleçyordam standart işleç tanımlar. Tüm işleç yordamları olmalıdır PublicShared.
Bir sınıf veya yapı işleç tanımlayan olarak da adlandırılır aşırı işleç.
Örnek
Aşağıdaki örnek tanımlar + işleç bir yapı olarak adlandırılan height. Fit ve inç ölçülen yükseklikleri yapı kullanır.Bir inç 2,54 santimetre ve bir foot 12 inç'tir.Normalleştirilmiş değerleri sağlamak için (inç < oluşturucu 12.0) gerçekleştirdiği Modül 12 aritmetik.+ işleç oluşturucu normalleştirilmiş değerleri oluşturmak için kullanır.
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
yapı test ' ni olabilir height yerine aşağıdaki kodu.
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
Daha fazla bilgi ve örnekler için bkz: Aþýrý yüklemesi Visual Basic 2005 de.
Ayrıca bkz.
Görevler
Nasıl yapılır: Bir Dönüşüm İşleci Tanımlama (Visual Basic)
Nasıl yapılır: Bir İşleç Yordamı Çağırma (Visual Basic)
Nasıl yapılır: İşleçleri Tanımlayan Bir Sınıf Kullanma (Visual Basic)
Nasıl yapılır: Bir Yapıyı Bildirme (Visual Basic)