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

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

VB 2008 Express, .NET 2.0 & DataSet tipizzati

Visual Basic 2008 Express Edition, si sa, ha alcune normali limitazioni. Una di queste riguarda la selezione, già al momento della creazione del progetto, di versioni precedenti del .NET Framework come target. Tuttavia, probabilmente sapete che è possibile specificare il runtime desiderato andando in My Project -> scheda Compile -> Advanced compile options, dove è possibile selezionare il runtime target da un'apposita casella combinata.

 

Ora, immaginate di creare un progetto in Visual Basic 2008 Express che debba girare su .NET 2.0 utilizzando la procedura sopra descritta, che escluderà dal progetto i riferimenti agli assembly System.Core.dll, System.Xml.Linq.dll e System.Data.DatasetExtensions.dll. Immaginate, poi, di voler aggiungere un nuovo DataSet al progetto con le modalità che già conoscete. Dopo averlo aggiunto, aprite Solution Explorer e vedete cos'accade:

 

 

Visual Basic 2008 ha aggiunto automaticamente dei riferimenti agli assembly System.Xml.Linq e System.Data.DatasetExtensions.dll. In particolare quest'ultimo è stato aggiunto perchè nella versione 3.5 di .NET Framework, le DataTable generate ereditano da System.Data.TypedTableBase(Of T), invece che da System.Data.DataTable, e questo cambiamento è stato introdotto per supportare LINQ. Per esempio, supponiamo di avere una tabella Products che nel codice Visual Basic è definita così (ho omesso per brevità gli attributi alla dichiarazione di classe):

 

    Partial Public Class ProductsDataTable

        Inherits Global.System.Data.TypedTableBase(Of ProductsRow)

 

       

    End Class

 

Ciò posto, se vogliamo che la nostra classe possa essere utilizzata in un progetto specifico per .NET 2.0, dobbiamo cambiare la dichiarazione di ereditarietà in questo modo:

 

    Partial Public Class ProductsDataTable

        Inherits Global.System.Data.DataTable

 

Non dovrebbe essere un grosso problema, poiché comunque in .NET 2.0 non possiamo usare LINQ, pertanto la soluzione è valida. Ricordiamo, poi, di rimuovere dal progetto i riferimenti ai due citati assembly di .NET 3.5 che altrimenti genereranno dei messaggi di warning.

 

Alessandro

Print | posted on sabato 10 gennaio 2009 18:44 | Filed Under [ .NET Framework Visual Basic Visual Studio Express Editions ]

Powered by:
Powered By Subtext Powered By ASP.NET