Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1761, comments - 2327, trackbacks - 356

My Links

News

Your host

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

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

Microsoft MVP

My MVP Profile

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!

Il mio libro su VB2012!

Il mio nuovo libro su Visual Basic 2012 E' uscito il mio libro "Visual Basic 2012 Unleashed". Clicca sulla copertina per informazioni!

Visual Basic Tips & Tricks Team Member

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!


Guarda i miei webcast MSDN

Altri spazi

CodePlex download Scarica i miei progetti open-source su CodePlex!

Cerca nel blog



Seguimi su Twitter!

Article Categories

Archives

Post Categories

Image Galleries

.NET Framework

Back to basics

Blogroll

Help 1.x e 2.0

Microsoft & MSDN

Setup & Deployment

Visual Basic .NET e 2005

venerdì 27 febbraio 2015

Video su VB 2015 aggiornato con NameOf e String interpolation

Tempo fa, pubblicai una serie di video dedicata alle novità di Visual Basic 2015 nell'area Video del nostro sito, basati su Visual Studio 2015 Preview.

Con le due CTP 5 e 6, sono stati finalmente introdotti l'operatore NameOf e la String interpolation, due grandissime novità del linguaggio, pertanto ho anche appena caricato una versione aggiornata del video che ne parla in modo da poterne vedere l'utilizzo in un ambiente effettivamente funzionante.

Alessandro

posted @ venerdì 27 febbraio 2015 15:29 | Feedback (0) | Filed Under [ Visual Basic Visual Studio 2015 ]

mercoledì 25 febbraio 2015

String interpolation in Visual Basic 2015

Con il rilascio della CTP 6 di Visual Studio 2015, è finalmente disponibile una nuova funzionalità di Visual Basic nota come string interpolation. Con la string interpolation è possibile formattare stringhe utilizzando parametri direttamente all'interno della stringa e con l'aiuto dell'IntelliSense, consentendo di scrivere codice molto più pulito ed elegante rispetto a String.Format o metodi che supportano la stessa sintassi.

Per capirne il funzionamento, una semplice classe Person:
Class Person
    
Property FirstName As String
    
Property LastName As String
    
Property Height As Double
End Class
E un'istanza della stessa:
Dim p As New Person With {.FirstName = "Alessandro", .LastName = "Del Sole", .Height = 175}
Ora, con String.Format scriveremmo:
        Dim firstFormat = String.Format("Today is {0}, you are {1} {2} and you are {3:0.00} tall",
                                       
Date.Today.ToShortDateString,
                                       p.FirstName, p.LastName, p.Height)
Oppure potremmo utilizzare la consueta forma di concatenazione mediante l'operatore & o il +. Con la string interpolation diventa:
        Dim secondFormat = $"Today is {Date.Today.ToShortDateString}, you are {p.FirstName}
                           
{p.LastName} and you are {p.Height:0.00} tall"
Il simbolo $ precedente la stringa indica che si utilizza la string interpolation. Come vedete, il codice è molto più pulito. I valori da formattare sono direttamente all'interno della stringa, non ci sono più i placeholder numerici poco eleganti e molto confusionari e ho IntelliSense direttamente nella stringa. In più, posso utilizzare le modalità di formattazione dei tipi con le modalità consuete, come nell'esempio della proprietà Height. La string interpolation ha molti altri vantaggi, ad esempio potrei creare una query string oppure un indirizzo Internet in modo molto più pulito e funzionale:
        Dim filepath = $"{drive}:\{path}\{file}.{ext}"
        
Dim query = $"{url}?arg1={x}&arg2={y}"
Di tutte le novità di VB 2015, questa è probabilmente la mia preferita. Ci sono infinite possibilità di utilizzo legate alla string interpolation, che permetteranno di scrivere codice decisamente più pulito ed efficiente.

Alessandro

posted @ mercoledì 25 febbraio 2015 20:17 | Feedback (0) | Filed Under [ Visual Basic ]

martedì 24 febbraio 2015

Visual Studio 2015 CTP 6 disponibile

Ieri è stata rilasciata una nuova preview di Visual Studio 2015, denominata CTP 6. Sono stati fatti molti passi avanti rispetto a una CTP 5 per molti aspetti poco utilizzabile, sono stati fixati molti bug, sono stati introdotti nuovi tool e, con mio grande piacere, una delle novità di Visual Basic 2015 è finalmente utilizzabile, ossia la string interpolation di cui vi parlerò in un post separato.

Dal punto di vista di Roslyn, ossia la .NET Compiler Platform, c'è stata qualche variazione nelle API ma niente di trascendentale. Di buono c'è che ora i progetti per gli analyzer vengono generati già col supporto alla localizzazione.

Notizie e download qui.

Alessandro

posted @ martedì 24 febbraio 2015 18:49 | Feedback (0) | Filed Under [ Visual Basic Visual Studio 2015 ]

lunedì 9 febbraio 2015

Nuovo ebook gratuito su Windows AppStudio

Molti di voi conoscono Windows AppStudio, strumento online di Microsoft per la creazione di Universal Windows app basata su template e particolarmente adatto ai meno esperti.

Al riguardo vi segnalo la pubblicazione di un eBook gratuito dedicato a questo strumento e realizzato da una cara amica, Sara Silva, MVP portoghese esperta in Store app.

Ho avuto il piacere di poterle dare qualche piccola dritta "formale" e sono contento che sia riuscita a raggiungere questo obiettivo.

Download qui.

Alessandro

posted @ lunedì 9 febbraio 2015 14:31 | Feedback (0) | Filed Under [ Community and friends Windows 8 e Windows Store Apps ]

sabato 7 febbraio 2015

Licenza Community per Syncfusion Essential Studio

La Syncfusion, leader nel mercato dei controlli di terze parti per ambiente .NET, offre una licenza "community" gratuita della sua popolare ed eccezionale suite di controlli Essential Studio, per Windows desktop, mobile (inclusi Xamarin, Win Phone, WinRT, iOS...), Web, LightSwitch e molto altro.

La licenza community è essenzialmente gratuita per sviluppatori singoli e piccole aziende individuate secondo i termini della licenza stessa.

Maggiori info e download qui.

Alessandro

posted @ sabato 7 febbraio 2015 13:21 | Feedback (0) | Filed Under [ .NET Framework Windows Presentation Foundation Silverlight e Windows Phone Visual Studio LightSwitch Windows 8 e Windows Store Apps Visual Studio 2013 ]

Visual Basic 2015: L'operatore NameOf

Visual Basic 2015 introduce un nuovo operatore chiamato NameOf. Il suo scopo è quello di generare al volo una costante che rappresenti stringhe, che a loro volta siano il nome di oggetti.

Per capirci, considerate il seguente codice che solleva un'eccezione se il parametro è nullo:
    Sub OpenFile(fileName As String)
        'Vecchia sintassi
        
If String.IsNullOrWhiteSpace(fileName) Then
            
Throw New ArgumentNullException("fileName")
        
End If
    
End Sub
In questo caso, il nome dell'argomento viene passato come una vera e propria stringa, anche col rischio di errori di digitazione. Con NameOf, tutto si può riscrivere in questo modo:
    Sub OpenFile(fileName As String)
        
'Nuova sintassi
        
If String.IsNullOrWhiteSpace(fileName) Then
            
Throw New ArgumentNullException(NameOf(fileName))
        
End If
    
End Sub
Il vantaggio? avere IntelliSense che consente di recuperare facilmente il nome dell'espressione da rappresentare. Un altro esempio, in cui una classe implementa INotifyPropertyChanged e deve passare il nome della proprietà che ha subito la modifica. Senza NameOf, il nome della proprietà viene passata come stringa. Con NameOf, si riscrive in questo modo, molto più efficiente e senza rischio di errori:
Class Person
    
Implements INotifyPropertyChanged
    
Private _firstName As String
    
Public Property FirstName As String
        
Get
            
Return _firstName
        
End Get
        
Set(value As String)
            
Me._firstName = value
            
RaiseEvent PropertyChanged(Me,
                                       
New PropertyChangedEventArgs(NameOf(FirstName)))
        
End Set
    
End Property

    
Public Event PropertyChanged As PropertyChangedEventHandler _
        
Implements INotifyPropertyChanged.PropertyChanged
End Class
NameOf si può usare anche con membri di oggetti separati dal classico punto (.).

Alessandro

posted @ sabato 7 febbraio 2015 12:43 | Feedback (0) | Filed Under [ Visual Basic Visual Studio 2015 ]

Visual Basic 2015: Sub New nelle Structure

Gli oggetti Structure, in Visual Basic, rappresentano i tipi valore. Una novità in Visual Basic 2015 riguarda il supporto per il costruttore di istanza senza argomenti.

In buona sostanza, è ora invocabile il costruttore senza parametri come quello definito di seguito:

Structure MyStruct
    
Property X As Double
    
Property Y As Double
    
Property Z As Double

    
Public Sub New()
        X = 1
        Y = 1
        Z = 1
    
End Sub

    
Public Sub New(x As Double, y As Double, z As Double)
        
Me.X = x
        
Me.Y = y
        
Me.Z = z
    
End Sub
End Structure
A questo punto le possibilità di utilizzo sono le seguenti 3, con i relativi commenti:
        'Modo classico: istanzia e valorizza la struttura
        
Dim struct As New MyStruct(1, 2, 3)

        
'Modo classico: dichiara una struttura nulla
        
'e non invoca costruttori
        
Dim struct1 As MyStruct = Nothing

        
'Modo nuovo: istanza con valori di default
        
Dim struct2 As New MyStruct
Questa possibilità consente di valorizzare nel modo di default più appropriato l'istanza della struttura.

Alessandro

posted @ sabato 7 febbraio 2015 12:30 | Feedback (0) | Filed Under [ Visual Basic Visual Studio 2015 ]

Visual Basic 2015: TypeOf..IsNot

Visual Basic 2015 introduce il supporto al costrutto TypeOf..IsNot. In sostanza, la seguente forma è ora accettata:
    Sub TestObject(param As Object)
        
If TypeOf param IsNot String Then
            
Throw New ArgumentException("value is not a String")
        
End If
    
End Sub
In precedenza, invece, l'unica consentita era la seguente, con Not TypeOf..Is:
    Sub TestObject(param As Object)
        If Not TypeOf param Is String Then
            
Throw New ArgumentException("value is not a String")
        
End If
    
End Sub
Alessandro

posted @ sabato 7 febbraio 2015 12:23 | Feedback (0) | Filed Under [ Visual Basic Visual Studio 2015 ]

Powered by:
Powered By Subtext Powered By ASP.NET