• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
exception directcast

DirectCast Exception
#1
Salve a tutti,

sto lavorando con la seguente funzione che dovrebbe restituirmi i valori degli indirizzi delle periferiche i2c trovate sulla mia raspberry 3 Pi. Ho accorciato la funzione e ci ho messo un valore a caso perchè tanto va in errore a prescindere. Facendo il debug sembra vada tutto bene fino al momento nel return della funzione, dove genera sempre una 'System.InvalidCastException'.
Qualcuno sa dirmi come ovviare al problema ?

Grazie a tutti 

Imports Windows.Devices.I2C
Imports Windows.Devices.Enumeration

Public NotInheritable Class MainPage

   Public Async Sub Start() Handles Me.Loaded
        Dim b() As IList(Of Byte)
        b = Await FindDeviceAsync()
        If b IsNot Nothing Then
            Debug.WriteLine("Trovati " & b.Length.ToString & " elementi")

        End If
    End Sub


    Public Shared Async Function FindDeviceAsync() As Task(Of IList(Of Byte))
        Dim ReturnValue As IList(Of Byte) = New List(Of Byte)
        Dim aqc As String = I2cDevice.GetDeviceSelector
        Dim dis As IReadOnlyList(Of DeviceInformation)
        dis = Await DeviceInformation.FindAllAsync(aqc).AsTask
        ReturnValue.Add(&H33)
        Return ReturnValue
    End Function

End Class
Risposta
#2
Ciao,
il problema dovrebbe essere la dichiarazione di b
Dim b() As IList(Of Byte) definisce un array di IList(Of Byte)
mentre la funzione restituisce una IList(Of Byte).
Basta togliere le parentesi dopo b

Ti consiglio di inserire all'inizio del file
Option Strict On
in modo che visual studio ti segnali immediatamente problemi di conversione
[
Risposta
  


Vai al forum:


Navigazione: 1 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect