我完全陷入了困境,我不知道从这里去哪里。我正在创建一个非常大的项目,所以我的目标是保持代码本身尽可能干净,并尽可能多地避免混合。
这是情况。
我有一个名为 的类Woo_Type
,它是我的许多派生类的父类。
Public MustInherit Class Woo_Type
Private Shared TypeList As New Dictionary(Of String, Woo_Type)
Public MustOverride Sub SetValue(ByVal val As Object)
Public MustOverride Function GetValue() As Object
Public Shared Function GetTypeFromName(ByVal name As String) As Woo_Type
Return TypeList(name)
End Function
Public Shared Sub AddType(ByVal name As String, ByVal def As Woo_Type)
TypeList.Add(name, def)
End Sub
End Class
我有许多从中继承的类Woo_Type
具有与此类似的结构:
Public Class Woo_tpInt
Inherits Woo_Type
Private value As Integer = 0
Public Overrides Function GetValue() As Object
Return value
End Function
Public Overrides Sub SetValue(val As Object)
value = val
End Sub
End Class
我希望能够执行以下操作:
Woo_Type.GetTypeFromName("int")
并让它返回诸如类之类的东西......
在这一点上,我真的很困惑我想要什么,我不知道是否有人有任何建议。为了确保它GetTypeFromName
正常工作,我在 Initializer 子中有以下内容:
Public Sub InitializeTypes()
Woo_Type.AddType("int", Woo_tpInt)
Woo_Type.AddType("String", Woo_tpInt)
End Sub
但我很快意识到——这显然也行不通。
所以这可能看起来令人困惑,但我基本上想知道如何更好地构建它,以便一切正常......