Molti non sanno di questa possibilità.

Anche se può sembrare assurdo o ridicolo, in C# è possibile avere una sorta di typedef come in C++.

Altre varianti conosciute, è l'uso delle strutture per avere una nuovo tipo strutturato.

 

prendiamo ad esempio

 

 

public struct Dimensioni
{
    public double lunghezza;
    public double larghezza;

    Dimensioni(double Lunghezza, double Larghezza)
    {
        lunghezza=Lunghezza;
        larghezza=Larghezza;
    }

    public double Diagonale
    {
         get
         {
              return Math.Sqrt(lunghezza*lunghezza+larghezza*larghezza);
         }
    }

}

 

Questo è un tipo strutturato ma non per nulla simile al typedef del C++. Il trucco è nel dichiarare il tipo nelle direttive. Tanto è vero che possiamo anche definire dei punti.

 

Ecco un esempio di Typedef in C#

 

 

using Stringa = System.String;


//-----------
public Stringa Test()
{

 Stringa p = "Hello World";
 return (Stringa)p;

}

 

 

Possiamo anche in'oltre definire un nuovo tipo partendo da un tipo strutturato prendendo ad esempio la struttura dimensioni

 

using Diagonale = Progetto.Classe.Dimensioni;

//Esempio

using Diagonale = Project1.Form1.Dimensioni;