Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [VB.Net] creare array di proprietà per una classe

    salve a tutti,

    c'è la possibilità in vb.net la possibilità di creare un array di proprietà?

    in pratica vorrei ottenere una cosa del genere

    codice:
    oClasse
        Nomi
              Nome(0)
              Nome(1)
              Nome(2)
              Nome(3)
    Se non c'è quale metodo mi consigliate di utilizzare per tale array?

    grazie
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  2. #2
    Le proprietà possono essere indicizzare con un parametro, ad esempio:
    codice:
    Public Property Item(ByVal Index As Int32) As String
      Get
        Return Me.Lista.Item(Index)
      End Get
      Set(ByVal Value As String)
        Me.Lista.Item(Index) = Value
      End Set
    End Property

  3. #3
    me.lista nel tuo caso cosa è?

    una struttura?

    puoi dirmi anche come fare a implementare una proprietà, tipo count, che mi restituisca il numero delle proprietà indicizzate?
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  4. #4
    Quello era un esempio, e Lista si suppone essere una lista -_- Forse non hai molta dimistichezza con le liste, poichè la proprietà non è un campo di per sé, ma media l'interazione tra programmatore e campo affinchè non si verifichino errori. Se la proprietà fa da wrapper a una lista, Count è lo stesso valore della proprietà Count della lista stessa: non ci sono N proprietà indicizzate, ma una sola indicizzata, che fa riferimento a uno degli N elementi di una lista. Ovviamente l'oggetto in questione potrebbe essere qualsiasi cosa poichè tu non hai specificato che debba trattarsi proprio di una lista, comunque, ecco un esempio:
    codice:
    Class Esempio
      Private Lista As New List(Of String)
     
      Public Property Item(ByVal Index As Int32) As String
        Get
          If Index > -1 And Index < Lista.Count - 1 Then
            Return Lista(Index)
          Else
            Return Nothing
          End If
        End Get
        Set(ByVal Value As String)
          If Index > -1 And Index < Lista.Count - 1 Then
            Lista(Index) = Value
        End Set
      End Property
    
      Public ReadOnly Property Count As Int32
        Get
          Return Lista.Count
        End Get
      End Property
    End Class
    Se l'esempio corrisponde al tuo caso, bisogna dire che tutto questo codice è completamente inutile, poichè può essere sostituito da:
    codice:
    Public ReadOnly Property List As List(of String)
      Get
        Return Lista
      End Get
    End Property
    Oppure, se la classe è una collection personalizzata:
    codice:
    Class Esempio
      Inherits List(Of String)
    End Class
    Con questo ultimo codice, la classe eredità tutti i metodi e le proprietà di una lista.

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.