Questo forum utilizza i cookies
Questo forum fa uso di cookie per migliorare l'esperienza utente. I cookie sono piccoli file di testo memorizzati sul tuo browser. I cookie impostati dal forum possono essere utilizzati solo su questo sito e non costituiscono rischio per la sicurezza, vengono utilizzati unicamente per memorizzare le tue preferenze. Navigando sul sito accetti che RaspberryItaly installi i cookie sul tuo browser.
Per maggiori informazioni consulta l'informativa sui Cookie di RasberryItaly

Un cookie verra memorizzato nel browser indipendentemente dalla scelta per evitare che questa domanda ti venga posta di nuovo. Sarai in grado di modificare le impostazioni dei cookie in qualsiasi momento utilizzando il link nel footer.
  • 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