Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1908, 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

Disabilita cookie ShinyStat

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

LINQ: enumerare i controlli di un form con extension methods

Nel precedente post, abbiamo visto come enumerare i controlli contenuti in un Windows Form tramite una semplice query LINQ. Lo stesso identico risultato si può ottenere sfruttando due metodi extension: OfType e Select.

Il primo si comporta come la keyword TypeOf, sotto forma di estensione. Il secondo, si comporta come la clausola Select delle query. Vediamo come ottenere tutte le TextBox in un form con questa metodologia, per poi commentarla:

Dim query = Me.Controls.OfType(Of TextBox).Select(Function(txtBox) txtBox.Name)

OfType fa parte degli operatori di conversione di LINQ e riceve, come argomento, il tipo da ottenere. Select, invece, nella sua forma extension, richiede un'espressione lambda attraverso la quale è possibile specificare l'oggetto di interesse. La collezione ottenuta può essere iterata tramite il consueto ciclo For..Each.

Ultima considerazione: una sola riga di codice.

Alessandro

Print | posted on venerdì 11 luglio 2008 16:48 | Filed Under [ Visual Basic LINQ ]

Powered by:
Powered By Subtext Powered By ASP.NET