Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    105

    [VB.NET]Sapere la classe di un oggetto

    Vorrei sapere se esiste un comando che estrae la classe di appartenenza di un oggetto.
    Più precisamente ho creato una classe personalizzata che ho messo in un ArrayList dove ci sono oggetti di classi differenti e quando mi capita un oggetto della mia classe devo fare una determinata cosa.

    il codice in questione è il seguente:
    codice:
    If (MCRSeq.Item(recStep - 1)) Then ' in questo IF devo controllare che tipo di oggetto c'è in quella posizione
    
                    Label1.Text = MCRSeq.Item(recStep - 1).ToString
                Else
                    Label2.Text = MCRSeq.Item(recStep - 1).X.ToString + " - " + MCRSeq.Item(recStep - 1).Y.ToString
                End If
    Perchè come potete ben capire se in quella determinata posizione c'è una classe che non ha la funzione X o Y il programma si blocca e mi da un errore.

    grazie mille a tutti

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    105
    Originariamente inviato da alka
    Usa l'operatore "is".
    Purtroppo in vb.bet l'operatore is sembra non funzionare:
    codice:
                If (MCRSeq.Item(recStep - 1) Is Mouse.MouseButton) Then
                    Label1.Text = MCRSeq.Item(recStep - 1).ToString
                Else
                    Label2.Text = MCRSeq.Item(recStep - 1).X.ToString + " - " + MCRSeq.Item(recStep - 1).Y.ToString
                End If
    Mi dice che "Mouse.MouseButton è un tipo in form1.Mouse e non può essere usato come espressione" anche se nell'esempio del link che mi hai passato lo usa esattamente in questo modo.

    Non capisco cosa sbaglio.

    p.s.: ho notato che però l'esempio c'è solo in c# e non vb, quindi mi sa che non va bene per vb, o sbaglio?

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    105
    Ho capito dove sbagliavo.
    Quindi per chi non lo sapesse per vb.net l'espressione da usare per trovare il tipo di appartenenza di un oggetto è:
    codice:
    TypeOf 'NomeOggetto' Is 'NomeClasse'
    e restituisce true se è uguale o false se non è di quella classe

    Spero possa essere utile ad altri

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.