gennaio 2006 Blog Posts
Innanzitutto voglio dire grazie a tutti gli intervenuti ed in particolare ai valorosi che sono rimasti fino in fondo per la mia sessione nonostante l'accumulo di neve e traffico che li attendeva. Avere per quasi tutta la giornata nevosa la sala "realizing potential" bella zeppa è certamente una grossa soddisfazione visto che, ancora una volta, si parlava di tecnologie che hanno ancora da venire.Non posso proprio aggiungere altro visto che Igor (a cui mi toccherà offrirgli da bere ) ha già dettagliato sia i contenuti del workshop che l'imperdibile cena a base di Test Driven Development .
Anch'io come gli altri (ma non così tanto come Fabio) ho...
Non che io sia un fan scatenato degli snippet, però per certe cose sono proprio comode.
All'ennesima classe singleton che dovevo costruire mi sono fermato, ho scritto uno snippet ed eccolo qui:
<?xml version="1.0" encoding="utf-8" ?><CodeSnippets xmlns="http://atd.vevy.com/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> <Title>singleton</Title> <Shortcut>singleton</Shortcut> <Description>Code snippet for singleton pattern</Description> <Author>Raffaele Rialdi</Author> <SnippetTypes> <SnippetType>Expansion</SnippetType> </SnippetTypes> </Header> <Snippet> <Declarations> <Literal Editable="false"> <ID>classname</ID> <ToolTip>Class name</ToolTip> <Function>ClassName()</Function> <Default>ClassNamePlaceholder</Default> </Literal> </Declarations> <Code Language="csharp"> <![CDATA[private static $classname$ _Instance = null; private $classname$ () { } public static $classname$ GetInstance() { if(_Instance == null) _Instance = new $classname$(); return _Instance; }
$end$]]> </Code> </Snippet> </CodeSnippet></CodeSnippets>
Per farlo funzionare è sufficiente salvarlo in un file chiamato singleton.snippet e metterlo nella cartella:My Documents\Visual Studio 2005\Code Snippets\Visual C#\My Code Snippets
Non rimane quindi che provarlo ed all'interno di una classe C# scrivere singleton<tab> per ottenere l'espansione del codice.
Sicuramente sarebbe stato...
Dopo il buon successo di Lorenzo che replicherà su team system il 24 e 30 Gennaio, il proseguo è dei webcast sull'architettura che saranno tenuti da Giuseppe di Mauro.
Poi una bella chiaccherata allo specchio (così chiamo i webcast perché non ho nessuno davanti) la farò anch'io ad Aprile, questa volta per "muratori" ... stay tuned ...
Si, ce l'hanno sempre detto che poco dopo la chiusura di una versione inizia immediatamente lo sviluppo della successiva.E tra l'altro per quanto riguarda Orcas lo sappiamo già da Cider che sono al lavoro.
Però personalmente la sensazione più piacevole è stat quella di vedere la riapertura dei bug (come questo) marcati come 'postponed' in Ladybug.
Ok, è la porizione di contenuto localizzato, ma è pur sempre una bella soddisfazione per il nostro User Group!
Non ne ho trovato traccia nel documento che riassume le breaking changes, tantomeno ho trovato qualcosa con google.
L'argomento è la rimozione di un trace listener via app.config. In pratica la possibilità di aggiungere/rimuovere un tracelistener (cioè l'output, ad esempio, di una System.Diagnostics.Trace.WriteLine) senza la necessità di dover ricompilare l'assembly.
Framework 1.1:http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemDiagnosticsTraceListenerClassTopic.asp <listeners> <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="c:\myListener.log" /> <!-- You must supply a valid fully qualified assembly name here. --> <remove type="Assembly text name, Version, Culture, PublicKeyToken"/> </listeners>
Framework 2.0:http://msdn2.microsoft.com/hy72797k(en-US,VS.80).aspx <listeners> <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="TextWriterOutput.log" /> <remove name="Default" /> </listeners>
Se non viene fatto questo cambiamento, nel framework 2.0 viene lanciata l'eccezione...