Mister Smith
Mister Smith

Reputation: 55

VB.NET Property as StringDictionary?

I'm trying to create a new property with a type of StringDictionary but when I use the property like a stringdictionary variable I am getting an error. The goal is to NOT use a variable, I need to use a property for this. Behind the scenes I am saving the stringdictionary value to a global user-ID indexed collection. Here's the code that creates the property and attempts to get and set:

Public Property MaxLenDict As StringDictionary()
    Get
        Return GetFromCollection("MaxLenDict")
    End Get
    Set(Value As StringDictionary())
        SaveToCollection("MaxLenDict", Value)
    End Set
End Property

Public Sub ExampleSub()
    If MaxLenDict("hello world") = "" Then MaxLenDict.Add("Hello World", "I'm Here")
End Sub

Get this error in ExampleSub "StringDictionary cannot be converted to string" in the IF statement on this code:

MaxLenDict("hello world")=""

So how do I successfully make and use a property as a stringdictionary?

Upvotes: 2

Views: 765

Answers (1)

Konrad Rudolph
Konrad Rudolph

Reputation: 545588

Your property is of type StringDictionary() (an array!), not StringDictionary.

I’m not sure that using StringDictionary is advised in the first place, though. The class is simply a remnant from pre-generics versions of .NET. Use Dictionary(Of String, String) instead.

Upvotes: 3

Related Questions