Posts
14
Comments
89
Trackbacks
4
domenica 17 febbraio 2008
[VS2008] Automatic Properties

Le “Automatic Properties” sono un’altra innovazione introdotta in Visual Studio 2008 (ovvero nel Framework 3.5). Questa particolarità permette allo sviluppatore di risparmiare tempo nello scrivere codice ripetitivo e, per certi versi, inutile.

Supponiamo di codificare la classe “Prova” dove, per esempio, mettiamo a disposizione la proprietà “Numero”. Questa proprietà non fa altro che assegnare/restituire il valore della sottostante variabile privata “_numero”. In Visual Studio 2008 (Framework 3.5) è possibile scrivere quanto segue :

    class Prova

    {

        Int32 _numero;

 

        public Int32 Numero { get; set; }

 

        //.....

    }

Sarà compito del compilatore espandere questa dichiarazione, rendendola come siamo stati abituati a fare con le versioni precedenti del Framework :

        public Int32 Numero

        {

            get { return _numero; }

            set { _numero = value; }

        }

 

La nuova modalità ci avvantaggia in quanto avremo la possibilità di avere codice sorgente più compatto (e leggibile) e potremo essere più veloci nello scrivere i nostri programmi (anche se, in questo caso, il tasto destro del mouse e la selezione di Refactor/Encapsulate Field aveva già dato molto).

Anche in questo caso, un grazie a Dino Esposito che ci ha deliziato con quest’altra “chicca” nell’articolo già citato nel mio precedente post. Caspita Dino, ma è possibile che ogni volta che apri bocca (o tocchi penna) ci sia sempre qualcosa da imparare !?!?!?! J

 

 

posted @ lunedì 1 gennaio 0001 00:00 | Feedback (5)
[VS2008] Extension Methods

Una delle novità di Visual Studio 2008 (ovvero del Framework 3.5) è l’esistenza di quelli che sono definiti “Extension Methods”. Attraverso tali metodi è possibile estendere una classe (anche quelle di base) senza doverla per forza derivare.

Il tutto si sviluppa intorno alla costruzione di una classe statica e di uno o più metodi statici, caratterizzati dall’utilizzo dell’operatore “this” tra i parametri.

Vediamo l’utilità di quanto appena descritto con un esempio :

namespace ConsoleTest

{

    public static class clsExtension

    {

        public static bool IsInt32(this string pString)

        {

            Int32 tNumber;

            bool tResult = Int32.TryParse(pString, out tNumber);

            return tResult;

        }

    }

}

Questa è la classe statica che ci permette di estendere la classe base “String”, aggiungendole il metodo “IsInt32” che restituisce true o false a seconda che il contenuto della stringa sia, oppure no, un Int32.

L’utilizzo della sopraccitata classe è decisamente semplice :

static void Main(string[] args)

{

  string tStr = "1234";

  Console.WriteLine("{0} is number : {1}", tStr, tStr.IsInt32());

  tStr = "abc";

  Console.WriteLine("{0} is number : {1}", tStr, tStr.IsInt32());

  Console.ReadKey();

}

In questo modo abbiamo aggiunto alla classe String la possibilità di restituire, senza troppi giri e/o ripetizioni, un valore boioleano che ci indichi se questa contiene un numero (Int32) valido oppure no. Ovviamente, questa è solo una delle innumerevoli possibilità, limitate solo dalla nostra fantasia e dalle nostre necessità...

Questa è una delle “chicche” scritte da Dino Esposito in un interessante (ma purtroppo breve) articolo intitolato “Inside Visual Studio 2008”, pubblicato su Dr.Dobb’s Journal di Febbraio 2008. Che dire ? Ancora una volta, Grazie Dino !!!!!!

 

posted @ lunedì 1 gennaio 0001 00:00 | Feedback (2)
News
Titolo
Ecco uno scatto rubato al duro lavoro in "miniera"

...e per non dimenticare mai che il tempo passa, questa è la mia età :

La "Miniera" :

Visite dal 27/11/2007 :