I'm currently on a VB.NET project and wish to use a KeyValuePair to facilitate a reverse lookup.
I've found a great example in C# here: http://www.dreamincode.net/forums/showtopic78080.htm, however I am having a small problem converting to VB.NET (both manually and using a translator (online carlosag)). For example the syntax I would expect in the Add method is as follows:
Public Sub Add(ByVal key As TKey, ByVal value As TValue)
Me.Add(New KeyValuePair(Of Tkey(key, value))
End Sub
Whereas this tells me "Too few type arguments to 'System.Collections.Generic.KeyValuePair(Of TKey, TValue)'"
Any assistance would sure be helpful (indeed as would a full translation of the example including anon methods :D.
Resolved by making the Add method Overloads as such:
Public Overloads Sub Add(ByVal key As TKey, ByVal value As TValue)
Me.Add(New KeyValuePair(Of TKey, TValue)(key, value))
End Sub
Strange that although MyBase.Add works (found via a decompile in Reflector) Me didn't (despite "this" working in C#). I guess I put this down to a quirk in VB.NET?
Thanks Kevinw and Meta-Knight. Original code was wrong, but I was inheriting from List all along.