Nó không phải là toán tử quá tải, được gọi là default property.
"Lớp, cấu trúc hoặc giao diện có thể chỉ định nhiều nhất một thuộc tính của nó làm thuộc tính mặc định, miễn là thuộc tính đó có ít nhất một tham số. thành viên, Visual Basic giải quyết tham chiếu đó đến thuộc tính mặc định. " - MSDN -
Cả lớp DataRowCollection
và lớp DataRow
có một tài sản mặc định tên Item
.
| |
table.Rows.Item(0).Item("a value") = "another value"
này cho phép bạn viết mã mà không cần xác định Item
thành viên:
table.Rows(0)("a value") = "another value"
Dưới đây là một ví dụ đơn giản của một lớp tùy chỉnh với một tài sản mặc định:
Public Class Foo
Default Public Property Test(index As Integer) As String
Get
Return Me.items(index)
End Get
Set(value As String)
Me.items(index) = value
End Set
End Property
Private ReadOnly items As String() = New String(2) {"a", "b", "c"}
End Class
Dim f As New Foo()
Dim a As String = f(0)
f(0) = "A"
Cho ví dụ trên, bạn có thể sử dụng thuộc tính mặc định của lớp chuỗi để có được một ký tự ở vị trí được chỉ định.
f(0) = "abc"
Dim c As Char = f(0)(1) '<- "b" | f.Test(0).Chars(1)
Nguồn
2014-10-20 15:27:55
Lập chỉ mục? [Cách tạo thuộc tính chỉ mục trong Visual Basic .NET] (http://support.microsoft.com/kb/311323) –
'()' không phải là toán tử. đó là cách truy cập vào bộ sưu tập của mọi thứ. tập thứ hai trong ví dụ của bạn là thu thập các ô hoặc các mục cho 'Hàng (0)' – Plutonix