检索所有声明的全局变量(VB.NET)

时间:2019-02-21 13:17:06

标签: vb.net variables global

我试图以“被动”方式列出我的代码中声明的所有全局变量,而不是手动创建List(of T),然后一一添加到列表中。 我有这个自定义对象,可以说Car.vb,我将其中很多声明为全局对象,并且它们在load事件中逐一填充了所有“ Cars”。但是在我的代码中,我想在所有“汽车”中执行一个循环,好的,我可以管理一个List(of T),但是如果明天我在Global范围内再添加4辆汽车,我必须手动添加这4辆汽车也进入T列表,否则,这4辆新车将不会成为循环的一部分。因此,我开始考虑是否有办法列出代码中声明的特定类型的所有变量。 有什么提示吗?谢谢!

1 个答案:

答案 0 :(得分:0)

最后知道如何做到这一点:

        Dim Cars_List As New List(Of Car)

        Dim assbly As Assembly = [Assembly].GetExecutingAssembly()
        Dim types As Type() = assbly.GetTypes()

        For Each t As Type In types
            If t.Name = "Form1" Then
                For Each p As FieldInfo In t.GetFields()
                    If p.FieldType.Name = "Car" Then
                        Console.WriteLine(p.Name & "  - " & p.FieldType.Name)
                        Cars_List.Add(CallByName(Me, p.Name, vbGet))
                    End If
                Next
            End If
        Next