Oppure

Loading
09/08/11 18:38
EDIT (ho risolto):
allora, per una volta devo dare la colpa della mia confusione da MSDN che prima scrive una cosa e poi ne fa un'altra :_doubt:
Basti guardare questo articolo:
msdn.microsoft.com/en-us/library/…
Ogni evento ha un suo object key, peccato che però la definizione di key dell'AddHandler (e RemoveHandler) dica tutt'altra cosa 8-|


Ciao a tutti,
negli ultimi giorni stavo creando un componente non visuale perciò mi stavo informando su tutte le cose da fare.

Ho però notato che Component, la mia superclasse, espone una proprietà il cui scopo non mi è chiaro.
MSDN non ne parla molto, se volete vedere, questo è il link:
msdn.microsoft.com/en-us/library/…

Io immagino che l'EventHandlerList ritornato serva per distruggere tutti gli eventi e che quindi il suo metodo Dispose() venga richiamato da quello di Component.
Purtroppo, come ho già detto, non trovo documentazione e quindi le mie sono solo supposizioni :asd:
Qualcuno può illuminarmi?

Inoltre vorrei avere un'altra conferma:
quando chiamo AddHandler o RemoveHandler dell'oggetto ritornato da Events, al parametro key devo passare l'instanza della mia classe (this o Me per intenderci)?

Grazie a chiunque si prenda la briga di rispondermi :k:


EDIT (per Totem):
quindi dovrei scrivere una cosa simile? ([...] indica che non ho voglia di scrivere tutto il codice necessario)
    public class MyComponent:Component
    {
[...]
        public event EventHandler MyEvent
        {
            add { [...] Events.AddHandler(this, value); }
            remove { [...] Events.RemoveHandler(this, value); }
        } 
[...]

Comunque avevo letto la descrizione di AddHandler solo che ero indeciso se passare l'oggetto dove è dichiarato l'evento o quello che ha il metodo handler :-|
Ultima modifica effettuata da 11/08/11 22:53
10/08/11 9:23
Il Totem
Si tratta semplicemente di una collezione che espone i gestori di evento associati agli eventi del componenti. Nota bene che non tutti gli eventi sono gestiti, quindi si tratta di un sottoinsieme dei delegati d'evento del componente stesso. E' utile perché mostra quali eventi vengono gestiti, da quanti metodi e da quali metodi. Inoltre, come hai detto, può anche essere usato per rilasciare correttamente gli handlers quando l'istanza viene distrutta, onde generare memory leaks.
Per quanto riguarda AddHandlers:
msdn.microsoft.com/en-us/library/…
Come vedi c'è scritto:
key
Type: System.Object
The object that owns the event.
aaa