La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Visual Basic 2010 - Le novità del linguaggio Community Tour… la vendemmia Belluno – 2 Dicembre 2010 Mario De Ghetto Microsoft MVP – Visual Basic Development.

Presentazioni simili


Presentazione sul tema: "Visual Basic 2010 - Le novità del linguaggio Community Tour… la vendemmia Belluno – 2 Dicembre 2010 Mario De Ghetto Microsoft MVP – Visual Basic Development."— Transcript della presentazione:

1 Visual Basic Le novità del linguaggio Community Tour… la vendemmia Belluno – 2 Dicembre 2010 Mario De Ghetto Microsoft MVP – Visual Basic Development Iscritto allOrdine 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 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 … dopo la clausola From, dopo una parentesi graffa aperta e dopo la virgola …

6 … nella decorazione di oggetti …

7 … 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…

9 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 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

13

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

15

16 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

19

20 Visual Studio 2010 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

23

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

26 Dietro le quinte:

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

28

29

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

32 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à Permettono di dichiarare allo stesso modo sia array multidimensionali sia jagged array (matrici irregolari o array di array).

34

35 Laccesso 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 Le espressioni lambda sono state introdotte con Visual Basic 2008 e ora sono state ulteriormente potenziate. E possibile utilizzare espressioni multilinea (senza _) e definire allinterno di unespressione lambda delle Sub e delle Function con i classici costrutti: Function … End Function Sub … End Sub

38

39

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 Sono due aspetti della VARIANZA GENERICA e riguardano concetti fortemente legati allereditarietà tra classi. COVARIANZA: si ottiene il risultato previsto dalle classi derivate nellambito 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 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

44 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

46

47 … poi nel gestore dellevento Load del form aggiungiamo queste due dichiarazioni: … e abbiamo finito.

48

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

51 Nuova classe VisualStateManager: permette di definire laspetto di un controllo visuale in base al suo stato, per esempio lo stato premuto di un pulsante. (Microsoft Expression Blend)

52

53 Miglioramenti nella grafica e nelle animazioni Miglioramenti nel rendering del testo Estensione e miglioramento del binding

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

55

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

57

58 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 Supporto per i template T4 (generazione automatica di codice, anche degli script SQL nellapproccio model first) Supporto per le stored procedure migliorato Supporto per i tipi complessi … e molte altre novità

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

61

62


Scaricare ppt "Visual Basic 2010 - Le novità del linguaggio Community Tour… la vendemmia Belluno – 2 Dicembre 2010 Mario De Ghetto Microsoft MVP – Visual Basic Development."

Presentazioni simili


Annunci Google