我完全停留在一種情況下,我不知道從哪裏開始。我正在創建一個非常大的項目,因此我的目標是儘可能保持代碼本身的清潔,並儘可能保持儘可能多的黑客行爲。在保持結構正確的同時設置這些類型
這是情況。
我有一個叫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
工作正常,我不得不在初始化程序分以下:
Public Sub InitializeTypes()
Woo_Type.AddType("int", Woo_tpInt)
Woo_Type.AddType("String", Woo_tpInt)
End Sub
但我很快意識到,這顯然也不行。
所以這可能看起來混亂,但基本上,我想知道如何更好地構建這種讓一切正常......
你想GetTypeFromName返回什麼?一個「類型」或這種類型的對象? – 2012-07-06 14:02:53
@SteveDog我認爲只是類型... – FreeSnow 2012-07-06 14:07:30