La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Visual Basic Le novità del linguaggio

Presentazioni simili


Presentazione sul tema: "Visual Basic Le novità del linguaggio"— Transcript della presentazione:

1 Visual Basic 2010 - Le novità del linguaggio
Community Tour… la vendemmia Visual Basic Le novità del linguaggio Belluno – 2 Dicembre 2010 Mario De Ghetto Microsoft MVP – Visual Basic Development Iscritto all’Ordine degli Ingegneri di Belluno Community DotNetWork.it

2 Di cosa parliamo… continuazione implicita di linea
il nuovo tipo BigInteger proprietà auto-implementate Optional Nullable Parameters Collection Initializers le novità nella manipolazione degli array espressioni lambda multi-linea e Statement Lambda covarianza e controvarianza WPF e Entity Framework: le novità

3 Di cosa parliamo… continuazione implicita di linea
il nuovo tipo BigInteger proprietà auto-implementate Optional Nullable Parameters Collection Initializers le novità nella manipolazione degli array espressioni lambda multi-linea e Statement Lambda covarianza e controvarianza WPF e Entity Framework: le novità

4 Esempi: dopo la virgola e dopo il punto …
Continuazione implicita di linea E’ un cambiamento storico per VB: non occorre più il simbolo “_” per continuare una istruzione nella riga successiva, anche senza utilizzare (“;”) come in C#! Esempi: dopo la virgola e dopo il punto …

5 Continuazione implicita di linea
… dopo la clausola From, dopo una parentesi graffa aperta e dopo la virgola …

6 … nella decorazione di oggetti …
Continuazione implicita di linea … nella decorazione di oggetti …

7 normali istruzioni SQL.
Continuazione implicita di linea … in una query LINQ … Otteniamo un maggiore impatto visivo con le istruzioni LINQ perché sembrano sempre di più delle normali istruzioni SQL.

8 … in una espressione di LINQ to XML…
Continuazione implicita di linea … in una espressione di LINQ to XML…

9 Continuazione implicita di linea
Vale solo in precisi contesti, non ovunque. Per esempio non funziona con la clausola Handles:

10 Di cosa parliamo… continuazione implicita di linea
il nuovo tipo BigInteger proprietà auto-implementate Optional Nullable Parameters Collection Initializers le novità nella manipolazione degli array espressioni lambda multi-linea e Statement Lambda covarianza e controvarianza WPF e Entity Framework: le novità

11 Il nuovo tipo BigInteger
I precedenti tipi interi avevano un limite troppo stretto, in particolare quando serviva trattare numeri molto grandi per applicazioni scientifiche o statistiche. BigInteger dà la possibilità di trattare numeri veramente molto grandi, perché non ha limite superiore né inferiore.

12 Il nuovo tipo BigInteger
Esempio:

13 Il nuovo tipo BigInteger

14 Nota: attenzione alle eccezioni OutOfMemoryException
Il nuovo tipo BigInteger Raddoppiando di volte il numero 2 ottengo un numero lungo oltre cifre!!! Nota: attenzione alle eccezioni OutOfMemoryException

15 Il nuovo tipo BigInteger
Altri esempi:

16 Il nuovo tipo BigInteger
Alcune informazioni e curiosità: è definito nel namespace System.Numerics come segue: è definito come una struttura (Structure) è serializzabile BigInteger esiste già da tempo in Java. La versione definita nel .NET Framework 4.0 ha meno metodi ma pare essere veloce almeno il doppio rispetto alla versione Java.

17 Di cosa parliamo… continuazione implicita di linea
il nuovo tipo BigInteger proprietà auto-implementate Optional Nullable Parameters Collection Initializers le novità nella manipolazione degli array espressioni lambda multi-linea e Statement Lambda covarianza e controvarianza WPF e Entity Framework: le novità

18 Proprietà auto-implementate
Ora possiamo dichiarare una proprietà così (in C# esiste già): Equivale a scrivere:

19 Proprietà auto-implementate
Due eccezioni: (1) Proprietà a sola lettura si definiscono nel solito modo:

20 (2) Ridefinizione di una proprietà in una classe derivata
Proprietà auto-implementate (2) Ridefinizione di una proprietà in una classe derivata Visual Studio propone tutto il codice della proprietà

21 Di cosa parliamo… continuazione implicita di linea
il nuovo tipo BigInteger proprietà auto-implementate Optional Nullable Parameters Collection Initializers le novità nella manipolazione degli array espressioni lambda multi-linea e Statement Lambda covarianza e controvarianza WPF e Entity Framework: le novità

22 Optional Nullable Parameters
VB 2010 supporta argomenti di tipo Nullable(Of T) per parametri opzionali all’interno dei metodi. Ora possiamo scrivere:

23 Se proviamo lo stesso codice con VS 2008 otteniamo un errore:
Optional Nullable Parameters Se proviamo lo stesso codice con VS 2008 otteniamo un errore:

24 Di cosa parliamo… continuazione implicita di linea
il nuovo tipo BigInteger proprietà auto-implementate Optional Nullable Parameters Collection Initializers le novità nella manipolazione degli array espressioni lambda multi-linea e Statement Lambda covarianza e controvarianza WPF e Entity Framework: le novità

25 Collection Initializers
E’ finalmente possibile definire e inizializzare una collezione nella stessa istruzione.

26 Collection Initializers
Dietro le quinte:

27 Collection Initializers
Funziona anche con le nostre classi personalizzate. Supponiamo di avere una classe di questo tipo: notare l’uso della nuova caratteristica: le proprietà auto-implementate

28 Possiamo definire i nostri oggetti di tipo Cliente in questo modo:
Collection Initializers Possiamo definire i nostri oggetti di tipo Cliente in questo modo:

29 Collection Initializers
Possiamo poi istanziare una collezione di questi oggetti di tipo Cliente:

30 Di cosa parliamo… continuazione implicita di linea
il nuovo tipo BigInteger proprietà auto-implementate Optional Nullable Parameters Collection Initializers le novità nella manipolazione degli array espressioni lambda multi-linea e Statement Lambda covarianza e controvarianza WPF e Entity Framework: le novità

31 Definizione per inferenza:
Le novità nella manipolazione degli array Definizione per inferenza:

32 Cosa succede in questo caso?
Le novità nella manipolazione degli array Cosa succede in questo caso? Se Option Strict On si otterrà un ERRORE Se Option Strict Off --> array di tipo Object

33 Gli Array literals sono una novità
Le novità nella manipolazione degli array Gli Array literals sono una novità Permettono di dichiarare allo stesso modo sia array multidimensionali sia jagged array (matrici irregolari o array di array).

34 Le novità nella manipolazione degli array
Un array multidimensionale si dichiara così: Un jagged array (matrice irregolare) si dichiara così:

35 Le novità nella manipolazione degli array
L’accesso a un elemento di un jagged array avviene nello stesso modo in cui siamo già abituati: La variabile Array3 è un array di interi con la coppia di elementi (1, 2)

36 Di cosa parliamo… continuazione implicita di linea
il nuovo tipo BigInteger proprietà auto-implementate Optional Nullable Parameters Collection Initializers le novità nella manipolazione degli array espressioni lambda multi-linea e Statement Lambda covarianza e controvarianza WPF e Entity Framework: le novità

37 Espressioni lambda multi-linea
Le espressioni lambda sono state introdotte con Visual Basic 2008 e ora sono state ulteriormente potenziate. E’ possibile utilizzare espressioni multilinea (senza “_”) e definire all’interno di un’espressione lambda delle Sub e delle Function con i classici costrutti: Function … End Function Sub … End Sub

38 Espressioni lambda multi-linea
Esempio: elenco dei processi attivi con nome che inizia per “D” In VB 2008: In VB 2010:

39 Lo scorrimento degli elementi lo possiamo fare con queste istruzioni:
Statement Lambda Lo scorrimento degli elementi lo possiamo fare con queste istruzioni:

40 Di cosa parliamo… continuazione implicita di linea
il nuovo tipo BigInteger proprietà auto-implementate Optional Nullable Parameters Collection Initializers le novità nella manipolazione degli array espressioni lambda multi-linea e Statement Lambda covarianza e controvarianza WPF e Entity Framework: le novità

41 Covarianza e Controvarianza
Sono due aspetti della VARIANZA GENERICA e riguardano concetti fortemente legati all’ereditarietà tra classi. COVARIANZA: si ottiene il risultato previsto dalle classi derivate nell’ambito di una collezione di oggetti di tipo astratto CONTROVARIANZA: è esattamente il contrario, si ottiene il risultato sfruttando una classe astratta da un oggetto derivato

42 IEnumerable(Of Object)
Covarianza Per esempio, String eredita da System.Object: ora è possibile assegnare un generico elenco di stringhe a un Object (con VB 2008 non era possibile). ATTENZIONE: lo possiamo fare solo attraverso IEnumerable(Of Object) Vediamo un esempio concreto di codice ...

43 Covarianza

44 Controvarianza In una applicazione Windows Forms, vogliamo definire un metodo comune per la gestione di due eventi distinti di un pulsante (MouseClick e KeyUp). Questi eventi sono gestiti da metodi che ricevono rispettivamente oggetti di tipo MouseEventArgs e KeyEventArgs. Entrambi ereditano da System.EventArgs.

45 In VB 2008 potevamo scrivere:
Controvarianza In VB 2008 potevamo scrivere:

46 Controvarianza In VB 2010 possiamo procedere in modo analogo: prima di tutto definiamo il metodo comune.

47 Controvarianza … poi nel gestore dell’evento Load del form aggiungiamo queste due dichiarazioni: … e abbiamo finito.

48 In VB 2010 c’è un altro modo per dichiarare un gestore di evento.
Controvarianza In VB 2010 c’è un altro modo per dichiarare un gestore di evento.

49 Di cosa parliamo… continuazione implicita di linea
il nuovo tipo BigInteger proprietà auto-implementate Optional Nullable Parameters Collection Initializers le novità nella manipolazione degli array espressioni lambda multi-linea e Statement Lambda covarianza e controvarianza WPF e Entity Framework: le novità

50 Nuovi controlli: DataGrid Calendar DatePicker
WPF: le novità Nuovi controlli: DataGrid Calendar DatePicker

51 (Microsoft Expression Blend)
WPF: le novità Nuova classe VisualStateManager: permette di definire l’aspetto di un controllo visuale in base al suo stato, per esempio lo stato premuto di un pulsante. (Microsoft Expression Blend)

52 Supporto ai dispositivi touch screen
WPF: le novità Supporto ai dispositivi touch screen

53 Miglioramenti nella grafica e nelle animazioni
WPF: le novità Miglioramenti nella grafica e nelle animazioni Miglioramenti nel rendering del testo Estensione e miglioramento del binding

54 Interoperabilità HTML – XBAP
WPF: le novità Nelle applicazioni WPF per browser (WPF Browser Application): Interoperabilità HTML – XBAP (XBAP = XAML Browser Application)

55 WPF: le novità WPF sfrutta le funzionalità estese della taskbar di Windows 7 JumpList TaskBarItemInfo

56 Migliore supporto per SilverLight Supporto multipiattaforma:
WPF: le novità Migliore supporto per SilverLight Supporto multipiattaforma: WPF 3.5 / 4.0 e successive Silverlight 3 / 4 e successive … e molto altro!

57 Entity Framework: le novità
Supporto per le entità POCO (Plain Old CLR Object), cioè entità semplici che non ereditano da EntityObject. Vantaggi: serializzazione più facile possibilità di utilizzo di tali entità anche in altri contesti

58 Database Generation Workflow Manager v1.1
Entity Framework: le novità Database Generation Workflow Manager v1.1 Finora potevamo mappare un database attraverso un modello a oggetti. Ora possiamo creare prima il modello a oggetti e poi generare il database sulla base del modello (model first design) Si trova alla pagina: (“Entity Designer Database Generation Power Pack”)

59 Entity Framework: le novità
Supporto per i template T4 (generazione automatica di codice, anche degli script SQL nell’approccio model first) Supporto per le stored procedure migliorato Supporto per i tipi complessi … e molte altre novità

60 Il blog del Team MSDN Italia
RISORSE UTILI Community DotNetWork.it (forum, articoli, blog …) Forum Microsoft (sezione Visual Basic – in italiano) Il blog del Team MSDN Italia

61

62 3/29/2017 4:33 AM © 2010 Microsoft Corporation. All rights reserved. Microsoft, Visual Studio, the Visual Studio logo, and [list other trademarks referenced] are trademarks of the Microsoft group of companies. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation.  Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.  MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED, OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Scaricare ppt "Visual Basic Le novità del linguaggio"

Presentazioni simili


Annunci Google