簡體   English   中英

vb.net詞典詞典

[英]vb.net Dictionary of Dictionary

晚上好,

有誰有任何想法我可以在VB.net中做這樣的事情?

我遇到的問題是將iDatabase聲明為iTable的字典,因為它需要類類型。

任何幫助將不勝感激。

問候,科林

Module Module1
    Sub Main()
        Dim Database As New iDatabase
        Dim Users = Database.Add("User", User)
        Users.Add(Guid.NewGuid, New User() With {.Username = "username"})
    End Sub
End Module

Public Class iDatabase
    Inherits Dictionary(Of String, iTable)

    Public Class iTable(Of Entity As Class)
        Inherits Dictionary(Of Guid, Entity)

    End Class
End Class

Public Class User
    Public Property Username As String
End Class

我覺得你有點過分復雜了。 看起來你想要一個“字典詞典”,你有"User"作為鍵,然后在該鍵下,另一個字典條目帶有映射到UserGuid鍵。 在這種情況下,您可能根本不需要子類Dictionary(Of TKey, TValue)

如果您要有多個類(例如AdminUser ),那么您應該使用通用接口。 讓我們看一個完整的例子:

Public Interface IUser
    Property Username As String
End Interface

Public Class User Implements IUser
    Public Property Username As String Implements IUser.Username
End Class

Public Class Admin Implements IUser
    Public Property Username As String Implements IUser.Username
End Class

Sub Main()
    Dim Database As New Dictionary(Of String, Dictionary(Guid, IUser))
    Database.Add("User", New Dictionary(Of Guid, IUser))
    Database("User").Add(Guid.NewGuid, New User() With {.Username = "username"})
    Database("User").Add(Guid.NewGuid, New Admin() With {.Username = "username"})
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM