DevAdmin Blog

Blog di Ermanno Goletto (Microsoft MVP Directory Services - MCITP - MCTS - MCSA - MCP)
posts - 886, comments - 447, trackbacks - 13

My Links

News

Avatar

Curriculum Vitae

Visualizza il profilo di Ermanno Goletto su LinkedIn


Il contenuto di questo blog e di ciascun post viene fornito “così come é”, senza garanzie, e non conferisce alcun diritto. Questo blog riporta il mio personale pensiero che non riflette necessariamente il pensiero del mio datore di lavoro.

Logo Creative Commons Deed


Logo SysAdmin.it SysAdmin.it Staff


Logo TechNet Forum TechNet Italia @ForumTechNetIt Follow TechNet Forum on Twitter


Logo MVP


Ermanno Goletto Follow ermannog on Twitter

Article Categories

Archives

Post Categories

Blogs

Friends

Knowledge Base

MVP Sites

Resources

Le insidie del DirectCast

Oggi mentre stavo scrivendo del codice per caricare un ListView mi sono imbattuto in un errore (mio sia ben chiaro) subdolo (almeno per me).

Per velocizzare il caricamento del listview mi ero creato un arraylist contenente gli item da aggiungenre e per aggiugerli al ListView ho usato il metodo AddRange:

Me.lsvMain.Items.AddRange(DirectCast(items.ToArray(), System.Windows.Forms.ListViewItem()))

Risultato un errore a runtime di Invalid Cast.
Ed è vero perche il metodo ToArray restituisce un array di Object quindi la DirectCast non può funzionare.

Ciò che è strano però è che neppure il CType funziona:

Me.lsvMain.Items.AddRange(CType(items.ToArray(), System.Windows.Forms.ListViewItem()))

A questo punto la soluzione è stata quella di utilizzare un override della ToArray

Me.lsvMain.Items.AddRange(DirectCast(items.ToArray(GetType(System.Windows.Forms.ListViewItem)), System.Windows.Forms.ListViewItem()))

Print | posted on Wednesday, March 09, 2005 4:51 PM | Filed Under [ Code, Snippets & Scripts ]

Feedback

No comments posted yet.

Post Comment

Title  
Name  
Email
Url
Comment   
Please add 2 and 1 and type the answer here:

Powered by:
Powered By Subtext Powered By ASP.NET