Получить все объявленные глобальные переменные (VB.NET) - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь перечислить все глобальные переменные, объявленные в моем коде, «пассивным» способом, я имею в виду, не создавая список вручную (из T), а затем добавить одну за другой в список.У меня есть этот пользовательский объект, скажем, Car.vb, я объявил многие из них глобальными, и они заполнили все «Автомобили» один за другим в событии load.Но где-то в моем коде я хочу выполнить цикл во всех «машинах», хорошо, я мог бы управлять списком (T), но если завтра я добавлю еще 4 машины в глобальную область, я должен добавить вручную эти 4 машиныв Список (T) также, в противном случае эти новые 4 машины не будут частью цикла.Поэтому я начал думать, есть ли какой-нибудь способ перечислить все переменные определенного типа, объявленные в коде.Любой намек?Спасибо!

1 Ответ

0 голосов
/ 22 февраля 2019

Наконец-то понял, как это сделать:

        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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...