In .NET (almeno < = 2) c'è un problema serializzazione di oggetti che sollevano eventi quando questi eventi sono gestiti da un oggetto non serializzabile (come un Windows Form).Do .NET 3/4 consente agli eventi di essere binari De/serializzati?
A causa del modo in cui VB.NET implementa gli eventi, quando si serializza un oggetto, anche gli eventi vengono serializzati (poiché gli eventi vengono effettivamente implementati utilizzando campi di delega multicast nascosti). Un effetto collaterale di ciò è che qualsiasi oggetto che gestisce gli eventi generati dall'oggetto serializzato sarà considerato parte del grafico dell'oggetto e verrà anch'esso serializzato.
alcune soluzioni potrebbe essere trovato, l'implementazione serializzazione personalizzata o utilizzando i delegati al posto di eventi:
- http://www.codeproject.com/KB/vb/serializevbclasses.aspx
- http://www.lhotka.net/WeBlog/CommentView.aspx?guid=776f44e8-aaec-4845-b649-e0d840e6de2c
Tuttavia nessuno di loro sembra soddisfare completamente gli autori e gli utenti.
Condivide la .NET 3/4 risolvere questo problema?
Questo problema non è specifico per VB.NET - è come .NET funziona. –
Tuttavia, con C# ve poteva trovare una soluzione più "flessibile" utilizzando '[Campo: NonSerialized]'. Almeno, non è necessario scrivere codice di supporto supplementare per risolvere il problema. – serhio
@serhio: questo attributo non funziona anche su VB? Perchè no? Non sto parlando di "WithEvents". –