Можно ли перегрузить операторы доступа к массиву / dict в VB.net? Например, вы можете указать что-то вроде:
Dim mydict As New Hashtable()
mydict.add("Cool guy", "Overloading is dangerous!")
mydict("Cool guy") = "Overloading is cool!"
И это прекрасно работает. Но я хотел бы сказать:
mydict("Cool guy") = "3"
, а затем 3 автоматически преобразуются в целое число 3.
Я имею в виду, конечно, у меня может быть личный член mydict.coolguy и методы setCoolguy () и getCoolguy (), но я бы предпочел , чтобы иметь возможность написать его прежним способом, если это вообще возможно .
Спасибо
Чтобы уточнить - я хочу иметь возможность "делать вещи" со значением. Например, скажем, у меня есть
myclass.fizzlesticks ' String type
myclass.thingone ' Numerical type, say integer
и тогда я хочу написать
myclass("thingummy") = "This is crazy"
, который запускает метод, который выглядит следующим образом
Private sub insanitea(Byval somarg as Object, Byval rhs as Object)
If somearg = "thingummy" And rhs = "This is crazy" Then
thingone = 4
fizzlesticks = rhs & " and cool too!"
End If
End Sub
Это не точный вариант использования, но я думаю, что он лучше иллюстрирует то, что я ищу?