Изменить параметр типа в цикле For?
Так что я близок с этим кодом, но пока не свободен. Часть "Of Integer" должна измениться на "Of Single", как только цикл For Loop попадет в канал с типом данных Single. Есть ли простой способ сделать это без явного кодирования "Of Single"? Если нет, то я не думаю, что смогу пройти через это, как я пытаюсь. Я попытался просто пропустить первый параметр после IE "AppendData"Channels(i).AppendData(jaggedArray(i))", и хотя я не получаю ошибку при компиляции, он выдает исключение при запуске кода. Так что это не работает. Требуется параметр типа данных и, конечно, массив данных, который необходимо добавить.
For Each c As TdmsChannel In Channels
Channels(i).AppendData(Of Integer)(jaggedArray(i))
i += 1
Next
1 ответ
Я понял. На самом деле был метод для коллекций каналов, который можно использовать для получения типа данных. Я использовал этот метод, чтобы определить, как добавлять данные (типа Integer, Of Single или Boolean).
Dim dtype As System.Type
For Each c As TdmsChannel In Channels
dtype = Channels(i).GetDataType
If dtype.Name = "Int32" Then
Channels(i).AppendData(Of Integer)(jaggedarray(i))
ElseIf dtype.Name = "Single" Then
Channels(i).AppendData(Of Single)(jaggedarray(i))
ElseIf dtype.Name = "Boolean" Then
Channels(i).AppendData(Of Boolean)(jaggedarray(i))
End If
i += 1
Next