Prosedur Operator (Visual Basic)
Prosedur operator adalah serangkaian pernyataan Visual Basic yang menentukan perilaku operator standar (seperti *
, <>
, atau And
) pada kelas atau struktur yang telah Anda tentukan. Fungsi ini juga disebut kelebihan beban operator.
Saat Harus Menentukan Prosedur Operator
Stelah menentukan kelas atau struktur, Anda dapat mendeklarasikan variabel sebagai jenis kelas atau struktur tersebut. Terkadang variabel seperti itu perlu berpartisipasi dalam operasi sebagai bagian dari ekspresi. Untuk melakukannya, variable itu harus menjadi operand operator.
Visual Basic menentukan operator hanya pada jenis data dasarnya. Anda dapat menentukan perilaku operator ketika salah satu atau kedua operand berasal dari jenis kelas atau struktur Anda.
Untuk informasi selengkapnya, lihat Prosedur Operator.
Jenis Prosedur Operator
Prosedur operator dapat menjadi salah satu dari jenis berikut:
Definisi operator tunggal di mana argumennya adalah jenis kelas atau struktur Anda.
Definisi operator biner di mana setidaknya salah satu argumen adalah jenis kelas atau struktur Anda.
Definisi operator konversi di mana argumennya adalah jenis kelas atau struktur Anda.
Definisi operator konversi yang mengembalikan jenis kelas atau struktur Anda.
Operator konversi selalu tunggal, dan Anda selalu menggunakan CType
sebagai operator yang Anda tentukan.
Sintaks Deklarasi
Sintaks untuk mendeklarasikan prosedur operator adalah sebagai berikut:
Public Shared [Widening | Narrowing] Operator operatorsymbol ( operand1 [, operand2 ]) As datatype
' Statements of the operator procedure.
End Operator
Anda hanya menggunakan kata kunci Widening
atau Narrowing
pada operator konversi jenis. Simbol operator selalu Fungsi CType untuk operator konversi jenis.
Anda mendeklarasikan dua operand untuk menentukan operator biner, dan Anda mendeklarasikan satu operand untuk menentukan operator tunggal, termasuk operator konversi jenis. Semua operand harus dideklarasikan ByVal
.
Anda menyatakan setiap operand dengan cara yang sama seperti Anda mendeklarasikan parameter untuk Sub Prosedur.
Jenis Data
Karena Anda menentukan operator pada kelas atau struktur yang telah Anda tentukan, setidaknya salah satu operand harus dari jenis data kelas atau struktur itu. Untuk operator konversi jenis, baik jenis operand atau kembalian harus dari jenis data kelas atau struktur.
Untuk detail selengkapnya, lihat Pernyataan Operator.
Sintaks Panggilan
Anda memanggil prosedur operator secara implisit dengan menggunakan simbol operator dalam sebuah ekspresi. Anda menyediakan operand dengan cara yang sama seperti yang Anda lakukan untuk operator yang telah ditentukan.
Sintaks untuk panggilan implisit ke prosedur operator adalah sebagai berikut:
Dim testStruct As
structurename
Dim testNewStruct As
structurename= testStruct
operatorsymbol10
Ilustrasi Deklarasi dan Panggilan
Struktur berikut menyimpan nilai bilangan bulat 128-bit yang ditandatangani sebagai bagian urutan tinggi dan urutan rendah konstituen. Struktur tersebut menentukan operator +
untuk menambahkan dua nilai veryLong
dan menghasilkan nilai veryLong
yang dihasilkan.
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
Contoh berikut menunjukkan panggilan umum ke operator +
yang ditentukan pada veryLong
.
Dim v1, v2, v3 As veryLong
v1.highOrder = 1
v1.lowOrder = Long.MaxValue
v2.highOrder = 0
v2.lowOrder = 4
v3 = v1 + v2
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk