Allows a class to make an array-like syntax available where you simply pass parameters without calling a method.
To use it, create a method named
Operator_Subscript in your class and implement it.
For example, say a class named foo implemented this method as:
The following syntax would then be valid:
Var f as New foo MessageBox(f(12).ToString)
You can use the Assigns keyword as well allowing you to assign values just as you can with arrays.
This example class uses Operator_subscript among other methods to create an array that is 1-based rather than 0-based.
Class OneBasedArray Sub Constructor(bounds As Integer = 0) mArray.ResizeTo(bounds - 1) End Sub Function Count() As Integer Return mArray.LastRowIndex + 1 End Function Sub Operator_ResizeTo(newSize As Integer) mArray.ResizeTo(newSize - 1) End Sub Function Operator_Subscript(index As Integer) As Variant Return mArray(index - 1) End Function Sub Operator_Subscript(index As Integer, Assigns v As Variant) mArray(index - 1) = v End Sub Private mArray() As Variant End Class
All project types on all supported operating systems.