2016-06-21 2 views
-1

Also ich bin nah dran mit diesem Code aber noch nicht frei zu Hause. Der "Of Integer" -Teil muss zu "Of Single" geändert werden, sobald die For-Schleife zu einem Kanal mit einem Single-Datentyp gelangt. Gibt es einen einfachen Weg dies zu tun, ohne es explizit "Of Single" zu codieren? Wenn nicht, dann denke ich nicht, dass ich in der Lage sein werde, das zu durchschauen, wie ich es versuche. Ich habe versucht, den ersten Parameter nach dem AppendData I.E einfach wegzulassen. "Channels (i) .AppendData (gezackteArray (i))" und obwohl ich beim Kompilieren keinen Fehler erhalte, wird beim Ausführen des Codes eine Ausnahme ausgelöst. Das funktioniert also nicht. Es erfordert den Datentyp-Parameter und natürlich das Datenfeld, das angehängt werden soll.Ändern Sie den Typparameter in einer For-Schleife?

For Each c As TdmsChannel In Channels 
     Channels(i).AppendData(Of Integer)(jaggedArray(i)) 
     i += 1 
    Next 
+1

Erstens, warum nicht codieren 'Of Single'? Was ist der Typ von JaggedArray (i)? –

+0

jaggedArray (i) kann entweder Integer oder Single type sein. In JaggedArray() können 4 bis 13 Arrays von Single oder Integer vorkommen. JaggedArray ist ein Array von Arrays. – busarider29

+0

Oh ja, ich habe vergessen, dass es auch boolesche Arrays im gezackten Array geben könnte. – busarider29

Antwort

0

Ich fand es heraus. Tatsächlich gab es eine Methode für die Channel-Sammlungen, die man verwenden kann, um den Datentyp zu erhalten. Ich habe diese Methode verwendet, um zu bestimmen, wie die Daten angefügt werden (Of Integer, Of ​​Single oder Of Boolean types).

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 
Verwandte Themen