Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1909, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Disabilita cookie ShinyStat

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

Eventi NonSerialized in Visual Basic 2010

Prendo spunto da questo post di Karl Shifflett per descrivere una nuova caratteristica del linguaggio Visual Basic 2010, ossia la possibilità di decorare un evento come NonSerialized all'interno di classi serializzabili.

L'esempio che propone Karl riguarda l'implementazione dell'interfaccia INotifyPropertyChanged, scenario che lo stesso definisce molto comune. Mi permetto solo di aggiungere che l'esempio è calzante perchè ha poco senso serializzare un evento che deve notificare alla user interface una variazione sui dati, mentre è importante serializzare i dati stessi.

Detto questo, il codice seguente dimostra come si marca l'evento come NonSerializable:

Imports System.ComponentModel

 

<Serializable()>

Public Class Customer

    Implements INotifyPropertyChanged

 

    <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

Alessandro

Print | posted on lunedì 23 novembre 2009 02:08 | Filed Under [ Visual Basic ]

Powered by:
Powered By Subtext Powered By ASP.NET