All These Things That I've Done

Apply the programming model to everyday programming problems
posts - 83, comments - 71, trackbacks - 4

My Links

News


View Gianluca Carucci's profile on LinkedIn

Tag Cloud

Archives

Post Categories

Image Galleries

Blogs

Links

C#

Il rename refactoring sulle query Linq da Visual Studio

L'Entity Framework e Linq To Sql avranno i suoi (grossi) limiti, ma vedere che da: IEnumerable<CategoryView> views = from d in categories select new CategoryView() { Id = d.Id, Name = d.Name, ImageUrl = d.ImageUrl, ImageIconUrl = d.ImageIconUrl }; con un semplice CNTRL-R-R il risultato è questo:   IEnumerable<CategoryView> views = from e in categories select new CategoryView() { Id...

posted @ giovedì 27 marzo 2008 19:26 | Feedback (0) | Filed Under [ C# ]

Linq To *

Il solito Scott segnala un post che contiene la lista aggiornata al 28 febbraio, dei providers Linq ufficiali e non. Lo stesso Charlie pubblicherà qui i futuri aggiornamenti. Technorati Tag: Linq,Providers

posted @ venerdì 14 marzo 2008 09:20 | Feedback (0) | Filed Under [ C# ]

Pensate come sarebbe brutto C# se...

il compilatore restituisse un errore nel caso in cui non gli piaccia l'ordine dei namespace dichiarati a inizio file. Oppure se... il compilatore restituisse un errore nel caso in cui non gli piaccia l'ordine delle classi/delegati/enumerazioni all'interno di un file. O ancora peggio se... il compilatore restituisse un errore nel caso in cui non gli piaccia l'ordine dei file da compilare. Ma anche se... con tanta fatica (e fortuna) riusciamo a trovare la giusta combinazione, ma un piccolo flag - fondamentale per la buona riuscita della compilazione - all'interno della configurazione del nostro progetto,...

posted @ martedì 30 ottobre 2007 16:11 | Feedback (2) | Filed Under [ C++ C# ]

Assert multipli all'interno di un singolo unit test

Roy Osherove fornisce in questo post, alcuni validi motivi del perchè secondo lui non dovrebbe essere possibile permettere di fallire più assert nell'esecuzione di un singolo unit test. Il post è in contrapposizione con un'altro post di James Avery dove viene spiegato invece, il perchè questa feature potrebbe essere utile.  Un piccolo assaggio che quoto in pieno: "Even if we assume that all the asserts are run, you're essentially running multiple tests on code that has "dirty" state. For example, asserting on the result of a method call may actually change the state of the object under test so that the next call to that method may...

posted @ mercoledì 4 ottobre 2006 10:48 | Feedback (1) | Filed Under [ Design Guidelines C# ]

Nuovo ma già obsoleto?!?!?

Ogni tanto, leggendo l'msdn, escono cose simpatiche:) Tratto dalla documentazione del metodo CppCodeProvider.CreateCompiler su MSDN Library:   " .NET Framework Class Library  CppCodeProvider.CreateCompiler Method  Note: This method is new in the .NET Framework version 2.0. NOTE: This method is now obsolete. Creates an instance of the C++ code compiler. Namespace: Microsoft.VisualCAssembly: CppCodeProvider (in cppcodeprovider.dll) " Non bastasse, l'implementazione del metodo restituisce un NotImplementedException....Technorati tags: Msdn, Codedom

posted @ giovedì 31 agosto 2006 11:07 | Feedback (0) | Filed Under [ C++ C# ]

Generics e alias

In c++, quando utilizziamo un template (prendiamo ad esempio il tipo std::vector), è pratica abbastanza diffusa definire un nuovo tipo del template specializzato. Qualcosa di questo tipo per intenderci: typedef std::vector  IntVector; Come sappiamo  usare un template (o un tipo generico del framework) allunga incredibilmente il nome del tipo e risulta molto scomodo dover ripetere lo stesso nome per intero ad ogni cast, istanziazione etc etc. Esiste qualcosa di simile al tipedef anche in C#? La risposta è si, ma tenendo ben presente l'aggettivo SIMILE. In C# possiamo definire un alias utilizzando la key using. La "dichiarazione duale del tipo IntVector di c++, in c# sarebbe: using IntList = System.Collection.Generic.List; Leggere...

posted @ venerdì 23 dicembre 2005 12:41 | Feedback (0) | Filed Under [ C++ C# ]

Testare classi che utilizzano Remoting

Problema: dobbiamo scrivere una serie di unit test che testano le funzionalità di un singleton pubblicato con Remoting. Perchè è un problema? Perchè se specifico la porta usata dall'HttpChannel ed eseguo due test consecuitivi che registrano il nostro oggetto mediante l'httpchannel, il secondo test fallirà sempre. Il problema è dovuto al fatto che il socket del canale viene chiuso in maniera non determinstica (quando ne ha voglia il GC), quindi, quando viene eseguita (indirettamente dall'httpchannel) la bind per la seconda volta, viene lanciata un'eccezione che ci avverte che la porta tcp è già in uso ("only one usage of each socket address (protocol/IP address/port)...

posted @ martedì 20 dicembre 2005 16:24 | Feedback (4) | Filed Under [ C# ]

Convertire un array di byte in stringa esadecimale

Visto che ne ho avuto bisogno, pubblico un piccolo snippet per risolvere il problema:private static string ConvertToHex(string msg) {   if (msg == null || msg == string.Empty)   {   return string.Empty;   }    System.Text.StringBuilder sb = new StringBuilder();    byte[] bmsgs = ASCIIEncoding.ASCII.GetBytes(msg);    foreach (byte inByte in bmsgs)   {     sb.Append(String.Format("{0:X2} ",inByte).Trim());   }   return sb.ToString(); }

posted @ venerdì 29 aprile 2005 14:48 | Feedback (0) | Filed Under [ C# ]

AOP NET la parola a Don Box....

Riprendo il post di Lorenzo riguardo l'AOP e Net fornendo uno stralcio dell'intervista a Don Box (per la quanle nn finirò mai di ringraziare il nostro caro presidente :) che esprime il suo parere proprio sull'AOP e sulle tecniche di interception. Personally, I think there are a lot of interesting programming paradigms out there, and I think that the industry has beaten the "attributes+interception" style of AOP to death.  Personally, I've been much more inspired by the ideas that sprang from functional programming and think that Whidbey brings several of those ideas to the masses. Specifically, C#'s anonymous methods (closures) and iterators are...

posted @ venerdì 15 aprile 2005 12:29 | Feedback (2) | Filed Under [ C# OOP ]

DavsGen Prima Versione

Il codedom si sa è una delle parti più interessanti del framework. Visto che c'è, perchè non usarlo? DavsGen è la prima versione versione di una serie di wizard integrati nel visual studio. Quando si aggiunge una classe ad un progetto di vs (sia esso in csharp che in vb) potrebbe essere utile avere una GUI  per dichiarare i membri della classe e  associargli automaticamente le propietà  senza doversele scrivere ogni volta a mano. Il wizard è liberamente scaricabile dal sito. DavsGen è distribuito sotto forma di file di installazione per semplificare il deploy del wizard. Ovviamente ogni feedback, idea o...

posted @ venerdì 25 febbraio 2005 13:06 | Feedback (1) | Filed Under [ Community C# Pubblications ]

Full C# Archive

Powered by:
Powered By Subtext Powered By ASP.NET