Есть ли способ проверить, может ли параметр повторяться - PullRequest
0 голосов
/ 09 января 2020

Я хотел бы знать, есть ли способ узнать, можно ли выполнить итерацию параметра, используя For Each l oop перед его использованием.

Метод AddRange

Этот метод может принимать различные типы данных. В идеале пользователь должен передать контейнер, содержащий 0 или более элементов.

' Class name - Employees
Private pItems As New Collection
Public Sub AddRange(ByVal Items As Variant)

    ' Here should be logic of detecting if Items can be iterated over.
    ' If Items is not a container, throw an error.
    ' Otherwise, proceed with adding items.

    Dim Item As Variant
    For Each Item In Items
        pItems.Add Item
    Next Item

End Sub

Код клиента

Public Sub Start()

    Dim Emps As New Employees
    Dim Department As New Collection 'of Employees
    Emps.AddRange Department

    Dim AnotherDepartment(0) As Variant 'of Employees
    Emps.AddRange AnotherDepartment

    Dim NewJoiners As New Employees
    Emps.AddRange NewJoiners

    ' This should not work.
    Dim EmployeeName As String
    Emps.AddRange EmployeeName

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...