En .NET (al menos < = 2) existe un problema al serializar objetos que generan eventos cuando esos eventos son manejados por un objeto no serializable (como Windows Form).Do .NET 3/4 permite que los eventos sean binarios De/Serializados?
Debido a la forma en que VB.NET implementa eventos, al serializar un objeto, sus eventos se serializan también (porque los eventos se implementan realmente usando campos delegados de multidifusión ocultos). Un efecto secundario de esto es que cualquier objeto que maneje eventos generados por el objeto que se está serializando se considerará parte del gráfico del objeto y también se serializará.
Algunas soluciones se puede conocer, implementar serialización personalizada o el uso de los delegados en lugar de los acontecimientos:
- http://www.codeproject.com/KB/vb/serializevbclasses.aspx
- http://www.lhotka.net/WeBlog/CommentView.aspx?guid=776f44e8-aaec-4845-b649-e0d840e6de2c
Sin embargo, ninguno de ellos parece satisfacer por completo a los autores y los usuarios.
¿El .NET 3/4 resuelve este problema?
Este problema no es específico de VB.NET - es cómo funciona .NET. –
Sin embargo, con C# ve podría encontrar una solución más "flexible" usando '[Field: NonSerialized]'. Al menos, no hay una necesidad especial de escribir un código complementario de ayuda para resolver el problema. – serhio
@serhio: ¿ese atributo tampoco funciona VB? Por qué no? No estoy hablando de 'WithEvents'. –