A long time feature request has been added to Visual Basic 10 that ships with Visual Studio 2010; decorating an Event as NonSerialized.
In prior versions of Visual Basic, developers had to implement a Custom Event or another workaround when their types needed to expose an Event and they had to be Serializable. C# had this capability, now Visual Basic does too!
A very common scenario is a class that implements INotifyPropertyChanged
and must also be Serializable.
Visual Basic developers can now decorate the Event with the NonSerialized
attribute. The compiler does the rest for you.
Imports System.ComponentModel
<Serializable()>
Public Class Customer
Implements INotifyPropertyChanged
#Region " INotifyPropertyChanged Serializable "
<NonSerialized()>
Public Event PropertyChanged(
ByVal sender As Object,
ByVal e As System.ComponentModel.PropertyChangedEventArgs) _
Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged
Protected Sub OnPropertyChanged(ByVal strPropertyName As String)
If Me.PropertyChangedEvent IsNot Nothing Then
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(strPropertyName))
End If
End Sub
#End Region
End Class
Have a great day.
Just a grain of sand on the world's beaches.
Posted in CodeProject, Tips, VB.NET, Visual Studio 2010, WPF General