Web Log di Adrian Florea

"You know you've achieved perfection in design, not when you have nothing more to add, but when you have nothing more to take away." Antoine de Saint-Exupery
posts - 440, comments - 2715, trackbacks - 3944

My Links

Archives

Post Categories

Image Galleries

.RO Blogs

.RO People

.RO Sites

Blogs

Furls

Links

vinCitori

marzo 2007 Blog Posts

Le 19 cose impossibili delle classi statiche

Per ottenere l'elenco completo delle cose che NON si possono fare con le classi statiche, e' piu' facile andare nel file "errors.h" di SSCLI 2.0 e cercare gli errori che riguardano le static class. L'elenco ottenuto e' piu' dettagliato rispetto a quello del paragrafo 17.1.1.3 delle specifiche: CS0418, AbstractSealedStatic ("una classe astratta non può essere sealed o static") CS0441, SealedStaticClass ("una classe non può essere contemporaneamente static e sealed") CS0708, InstanceMemberInStaticClass ("impossibile dichiarare membri di istanza in una classe statica") CS0709, StaticBaseClass ("una classe non può derivare da una classe statica") CS0710, ConstructorInStaticClass ("le classi statiche non possono avere costruttori di istanza") CS0711, DestructorInStaticClass ("le classi statiche...

posted @ venerdì 23 marzo 2007 14:43 | Feedback (111) | Filed Under [ Carillon .NET ]

Quiz Sharp #61 [la soluzione]

La soluzione al Quiz Sharp #61 mi sembra abbastanza interessante per meritare un post a parte (nomi come Miguel de Icaza, Jon Skeet, Abhinaba Basu, hanno considerato strano il comportamento del compilatore C# 2.0 nel comparare i valori value type a null) La risposta corretta al quiz e' che eseguendo lo snippet si ottiene un'eccezione a runtime (StackOverflowException). Vediamo di seguito il perche', con le specifiche in mano: Per evaluare l'espressione value != null nell'implementazione dell'operatore, dove value e' un not-nullable value type, il compilatore applica alcune conversioni. Per esempio, per ogni nullable type, esiste una conversione implicita dal tipo null al...

posted @ mercoledì 21 marzo 2007 18:36 | Feedback (16) | Filed Under [ Quiz Sharp Carillon .NET ]

Quiz Sharp #61 [quiz a quattro mani]

Di seguito un quiz a quattro mani con Matteo Spreafico, risultato di un bellissimo e lunghissimo chat: Cosa stampa a video questo snippet? struct Foo{    public static implicit operator bool(Foo value)    {        return value != null;    }}class Test{    static void Main()    {        if (new Foo())        {            System.Console.WriteLine("Ciao");        }    }} 1. niente 2. Ciao 3. non compila 4. runtime exception

posted @ venerdì 9 marzo 2007 19:51 | Feedback (26) | Filed Under [ Quiz Sharp ]

Powered by:
Powered By Subtext Powered By ASP.NET