novembre 2003 Blog Posts
Create una class library in VB.NET e aggiungete questo codice:
Public Class MyBug Public Function Sum(ByVal a As Int32, Optional ByVal b As Int32 = 6) As Int32 Return a + b End FunctionEnd ClassCreate un applicazione, compilate e lanciate l'eseguibile verificando che il risultato sia 10.esempio:Dim srv As New Server.MyBugDim iret As Int32 = srv.Sum(4)MessageBox.Show(iret.ToString)A questo punto ricompilate la class library sostituendo il valore di default di b da 6 a 20 e rilanciate l'eseguibile, risultato: 10!Ma come, se il valore di b e' ora 20!La soluzione la trovate in questo blog di Brad Abrams , date un occhiata ai commenti in alcuni casi...
Non so se qualcuno l'ha gia' segnalato, comunque tutte le sessioni di PDC sono disponibili online in formato Producer quindi potete vedere le slides e sentire il commento dello speaker.Vi consiglio di usare una linea veloce...
Paul Vick mostra un utile esempio di When per 'trappare' una global exception solo quando non siamo in debug mode.Sub Main() Try RunApplication() Catch ex As Exception When Not System.Diagnostics.Debugger.IsAttached HandleGlobalException(ex) End TryEnd Sub
Appena terminata la proiezione Raffaele ha commentato "Me ne hanno parlato talmente male che mi e' piaciuto", anche Io condivido la sua opinione, non sono un fan di Neo pero' questo terzo episodio mi e' paciuto piu' del secondo.Il film non e' stato altro che la conclusione di un piacevolissimo incontro Tecno-Cinematografico denominato "Windows Revolutions" che Microsoft Italia ha organizzato.La parte seria si e' tenuta nel nuovo (fantastico!) auditorium di Segrate dove Silvano Coriani, Gabriele Castellani e Fabio Santini hanno presentato (un po in fretta causa la mancanza di tempo...) alcune novita' di Yukon,Longhorn e Whidbey.Gabriele ha una vena comica...
Brad Abrams ha postato una 'dirty' version dei membri che diverranno obsoleti in Whidbey, come lui stesso indica, i membri saranno comunque presenti ma il compilatore suggerira' di utilizzare le rispettiva alternative.La lista e' tutt'altro che definitiva...
Dr.GUI spiega l'origine di alcuni codenames partendo da Whistler fino a LongHorn (un bar!) passando da Whidbey e Orcas...
Prendendo spunto da un blog mi sono 'divertito' con l'API SHAutoComplete.Che cosa fa esattamente?: Avete presente quando digitate un indirizzo all'interno della barra di IE e 'magicamente' vi si apre una lista con tutti gli indirizzi appena visitati? ecco, questa funzione e' attivata attraverso l'API sopra citata.Per renderla piu' utilizzabile ho wrappato il tutto in una classe la quale ha un metodo Add con 3 overloads in modo da poter attivare l'automplete solo per textBox, comboBox oppure tutte le combo e textBox presenti in un FormPer le funzionalita' dell'enumerato richiesto dalla Add vi rimando a questo link
Esempio d'uso:AutoSuggest sugg=new AutoSuggest();sugg.Add(this,AutoSuggest.AutoCompleteFlags.UrlAll);
Codice:
public...
Se, come me, non siete mai stati amanti della sintassi:If Not (foo Is Nothing) then...End If
Vi fara' piacere sapere che in VB.Net Whidbey sara' possibile scrivere:If foo IsNot Nothing then...End IfOnestamente la sintassi di C# (==, !=) e' nettamente migliore pero' e' gia un passo avanti.Altra novita' interessante: Tutti i tipi base implementano TryParse!
string s = "x";Int32 i;bool ret = Int32.TryParse(s,out i);if (ret){ ... conversione ok! }
Come sapete Steve Ballmer e Bill Gates hanno presentato un 'interessantissimo' video dove fanno la parodia di Matrix, nell'attesa di recuperare il video (fatevi avanti!) ecco una serie di shots per capire di cosa si tratta...
"Prendi la pillola Big Blue e tutto questo sparirà..." ;-)
Se volete dare un occhiata ad alcune delle novita' presenti nella Base Class Library del framework 2.0 date un occhiata a questa presentazione che Kit George ha tenuto a PDC.
Volete un EBook free, su come programmare il .NET compact framework? eccolo!
Paul Vick (PM di VB) indica come usare intelligentemente la clausola When (VB.NET only) all'interno di un blocco Catch.
Volete divertirvi con i bits di Longhorn? Se siete abbonati MSDN scaricateveli da qui (e che il server vi assista..)
Brad Abrams in questo video fa una introduzione a WinFx e spiega come impattera' nelle attuali applicazioni .NET
... e poi non dite che Travolta non e' democratico... :-)
Altra funzione carina in Whidbey e' il 'pallino verde' che appare quando con il mouse ci si posiziona sopra una variabile
Premendo il pallino e' possibile espandere l'oggetto esaminandolo sempre piu' nel dettaglio, usato ad esempio con i parametri passati ad una funzione e' comodissimo.Altro dettaglio: La finestra Immediate e' disponibile anche a design time (come in VB6)
Su MSDN e' stata aperta una interessante sezione dedicata a VB.NET Whidbey.
Quante volte abbiamo creato l'ennesima WindowsApplicationX perche' vogliamo provare un pezzo di codice e automaticamente cancellarla (se ce ne ricordiamo) poco dopo?Visual Studio Whidbey pone fine a questo inutile "disk filling" attraverso una delle innumerevoli impostazioni presenti nell'IDE, in particolar modo Save new projects when created la quale se deselezionata non salva i files della nostra soluzione fino a quando non lo decidiamo noi usando la voce Save All del menu file.Interessante inoltre notare che anche lanciando l'applicazione se non decidiamo di salvare, nessun file (nemmeno il classico .exe) viene salvato sul disco (viene in realta' salvato in una cartella...
Diciamo che il sistema non e' propriamente 'stabile'...Macchina virtuale Virtual PC 2004 BetaLonghorn build 4051 AlphaWhidbey AlphaLonghorn SDK AlphaEcco quello che appare quando aprite un nuovo progetto in WhidbeyIl mio commento e' stato: A PDC ci e' stato dato un poster con l'architettura di LongHorn, se qualcuno fosse interessato, puo' vederlo qui
Sembrava non ci fosse invece e' stato confermato che anche VB.NET Whidbey avra' il refactoring (anche se forse con un nome diverso...)