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

    Array o collection? VB.NET

    Buongiorno a tutti,

    visto che è ormai da quasi tre giorni che ci sto sbattendo la testa e non ci sono saltato fuori avrei una cosina da chiedervi:

    Sto facendo una classe personalizzata (Agenda) che deve avere al suo interno l' istanza di un' altra classe (io direi una collection fortemente tipizzata)(Appuntamenti) che mi elenca un insieme di elementi di un' altra classe (Appuntamento).

    Senza perdermi troppo in parentesi vi illustro quello che ho fatto:

    codice:
     
    Public Class Agenda
        Public Property Appunt as new Appuntamenti
    
    End Class
    
    
    
    Public Class Appuntamento
        Private _miao As String
        Public Property Miao As String
            Get
                Return _miao
            End Get
            Set(value As String)
                _miao = value
            End Set
        End Property
    End Class
    
    Public Class Appuntamenti
        Implements IList(Of appuntamento)
        Private _app As New List(Of appuntamento)
    
        Public Sub Add(item As Appuntamento) Implements System.Collections.Generic.ICollection(Of Appuntamento).Add
            _app .Add(item)
            Console.WriteLine("Added")
        End Sub
    
        ......
        .....
    End Class

    Ora, a livello di funzionamento è quello che cerco ma non riesco proprio a visualizzare correttamente la proprietà Appuntamenti nella propertygrid. Se invece di fare una classe che eredita da Ilist utilizzo direttamente
    codice:
    Public Class Agenda
        Public Property Appunt as new List(Of Appuntamento)
    .....
    End Class
    Nel propertygrid mi visualizza la proprietà in modo accettabile ma non riesco più ad avere il controllo sugli eventi relativi alla collection (aggiunta, modifica, eliminazione...)

    Se utilizzo un array (Public Property Appunt() as Appuntamento ={}) riesco a gestire gli eventi ma poi mi sembra più complicato e meno funzionale rispetto l' utilizzo di una collection che incorpora già tutto il necessario per aggiungere elimiare e trovare degli elementi al suo interno...


    Grazie mille a tutti per l' interessamento!


    Filippo

  2. #2
    up

  3. #3
    Perdonami ma non ho capito bene: hai realizzato una classe o un usercontrol? Se fosse una semplice classe, non capisco cosa centri la proprietà Appunt con la propertygrid.
    Chi non cerca trova.

  4. #4
    Si scusami, hai ragione, non sono stato chiaro.

    Sto realizzando uno user control, ed è la prima volta che ho a che fare in modo un po' serio con la property grid.

    In effetti pensavo che comunque fosse utile poter agganciare alla property grid anche una classe, così per testare il funzionamento e le varie proprietà della classe stessa si possono modificare i valori direttamente a runtime senza dover scrivere delle righe di codice.

    In più mi sono accorto che con l' utilizzo del codice che ho postato riesco si a gestire l' eliminazione e l' aggiunta di singoli appuntamenti alla classe Appuntamenti, però tramite eventi non riesco ad intercettare ad esempio la modifica della data di un appuntamento esistente...


    Scusami per il disturbo, sono giorni che ci provo ma non ho trovato nulla.

    Mi sono accorto anche di avere sbagliato l' oggetto della discussione ma era troppo tardi per modificarlo

    Grazie mille per il tempo che mi stai dedicando

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.