Вы хотите это для БД или для класса?
DB:
Создать таблицу для пользователей (ID, Имя и т. Д.)
Создать таблицу для определения атрибутов (ID, атрибут, Тип)
Создать таблицу для связи пользователей с атрибутами (UserID, AttributeID, Value)
Пример:
Пользователь
1 | Пользователь1
2 | Пользователь2
Атрибуты
1 | Атрибут1 | Строка
2 | Атрибут2 | Строка
3 | Атрибут3 | Int
UserAttributes
1 | 1 | Value1
1 | 2 | Value2
2 | 2 | Value3
2 | 3 | Значение4
Объяснение:
- Пользователь1 имеет атрибут1 со значением1
- Пользователь1 имеет Атрибут2 со значением2
- Пользователь2 имеет Атрибут2 со значением3
- У пользователя 2 есть атрибут 3 со значением 4
Класс:
Это просто идея
Public Class User
Private ReadOnly innerList As Dictionary(Of String, Object)
Public Default Property Item(index As String) As Object
Get
If innerList.ContainsKey(index) Then
Return innerList(index)
End If
Throw New IndexOutOfRangeException
End Get
Set(value As String)
If innerList.ContainsKey(index) Then
innerList(index)=value
Else
innerList.Add(index,value)
End If
End Set
End Property
Public sub Add(index As String,value As Object)
If innerList.ContainsKey(index) Then
innerList(index)=value
Else
innerList.Add(index,value)
End If
End Sub
Public Sub test
Dim u1 As new User
Dim u2 As New User
u1.Add("attribute1","value1")
u1.Add("attribute2","value2")
u2.Add("attribute2","value3")
u2.Add("attribute3","value4")
Dim att1 As String=u1("attribute1").ToString
Dim att3 As String=u2.Item("attribute3").ToString
End Sub
End Class
Надеюсь, это поможет вам.