В настоящее время я использую Visual Basic для проекта колледжа, который требует от нас создания простой системы баз данных.Для моей системы у меня есть базовый (абстрактный) класс, называемый Record
, который наследуется различными типами записей, которые есть в моей базе данных, например Member
, User
, Role
.
Ясохранил мои данные в csv-файлах и уже написал класс CSVHandler
.Тем не менее, я хочу элегантный способ создания экземпляра класса, производного от Record
, со строкой из CSVHandler
.
. Здесь возникает проблема.Единственный способ, которым я могу думать об этом, это сделать Constrcutor
или Shared Function
в каждом классе, полученном из Record
.Однако Visual Basic не позволяет вам Constructors
или Shared Functions
также MustOverride
.
. Вот код, который я хотел бы написать:
' Base Class
Public MustInherit Class Record
Public MustOverride Shared Function fromString(ByVal str as String) As Record
End Class
' Example Of Class Derived From Record
Public Class User
Inherits Record
Private _id As String
Private _name As String
Public Sub New(ByVal id As String, ByVal name As String)
_id = id
_name = name
End Sub
Public Overrides Shared Function fromString(ByVal str as String) As Record
Dim strs() As String = str.Split(",")
Return New User(strs(0), strs(1))
End Function
End Class
' Example Of Creating Instacnce Of User
Dim user1 = User.fromString("1671,Kappeh")
Есть ли способдобиться этого эффекта?Заранее спасибо за помощь:)