我知道标题真的很糟糕但说实话我的问题有点复杂,我甚至不知道如何获得一个合适的标题:P
首先,我将解释我的情况。 我基本上是创建一个通过代码的解析器,Regex主要用于它。 之后,我将所有数据(或我计划的内容)存储在一个对象树中。
为了便于理解,以下是我存储代码部分的类:
Public Class CodeParts
Public _fileName As String
Public Defines As New List(Of DefinesStruct)
Public Macros As New List(Of DefinesStruct)
Public Functions As New List(Of FunctionsStruct)
Public Stocks As New List(Of FunctionsStruct)
Public Publics As New List(Of FunctionsStruct)
Public Natives As New List(Of FunctionsStruct)
Public Enums As New List(Of EnumsStruct)
Public publicVariables As New List(Of VarStruct)
Public pawnDocs As New List(Of PawnDocParser)
Public Includes As New List(Of CodeParts)
'Helper Funcs.
Public Sub IsAlreadyParsed(ByRef res As Boolean, ByVal str As String, Optional parts As CodeParts = Nothing)
If parts Is Nothing Then parts = Me
For Each inc In parts.Includes
If inc._fileName = str Then res = True : Exit Sub
If inc.Includes.Count <> 0 Then
IsAlreadyParsed(res, str, inc)
End If
Next
End Sub
End Class
您可以看到它所在的行:
Public Includes As New List(Of CodeParts)
文件有时可以包含转到另一个文件的包含,因此也解析该文件。
现在已经足够解释并让我们转到问题:P
基本上,我需要拥有Parent
和Root
Parent将指向当前对象是其子对象的对象,就像它上面的对象一样。 并且Root将转到父对象没有的主要对象,因为它没有父对象。
任何帮助都非常感谢,如果有什么不清楚,请在下面评论:)