聲明詞典(整數,AnonymousType)我要聲明與一個整數作爲密鑰和匿名對象作爲值的vb.net字典。這是由每個循環的並行填充。匿名類的屬性總是相同的。但是有沒有辦法用匿名對象的簽名來聲明字典?在vb.net
現在,我使用的整數和對象的字典。
Dim MyDict As New Dictionary(Of String, Dictionary(Of Integer, Object))(12)
'In my loop
Dim MyLinqDict = Something.GroupBy(…).ToDictionary(Function(x) x.Kex, Function(x) New With {.a = 1, .b = 2})
MyDict.Add(MyKey, MyLinqDict)
現在,顯而易見的問題是,該內部字典的內容只是一個對象。我既不知道,如果,如果是,如何我可以聲明內字典與實際的對象。我也不知道,如果我能強制轉換是「對象」的匿名類型。
Dim MyContent = DirectCast(MyDict("Some key")(1), ???).a
有人可以在這方面幫助我嗎?
你不能兩面都有。它是匿名的或不是。如果您需要能夠投並有一定的財產訪問了''然後你需要定義,而不是使用對象了。如果你想要匿名你要只相信你是不會得到這並不具有任何對象'了' –
匿名類型是一個LINQ的便利。當你必須這樣做時,他們不再方便。所以不要這樣做,請聲明一個輔助類來存儲結果。現在很簡單。 –