Reshef’s tip of the day

.net development tips

Tip of the day: Data Type aliasing

There is a feature in .net that is not commonly remembered and it is Data Type aliasing.

What it means is that u give a data type a different name.

I can see two uses for it:
1) Enhance code readability:

Instead of having very long type declarations such as when using generic types inside generic types, u can assign an alias to that declaration. Here is an example:

    // Aliasing
    using HashOfHashes =
        Dictionary>>;

    public class AliasExample
    {
        HashOfHashes m_hash;

        public AliasExample()
        {
            m_hash = new HashOfHashes();
        }

        public HashOfHashes MyHash
        {
            get
            {
                return m_hash;
            }
        }
    }

2) Alias data types that are prone to change:


An example is an identifier property of class. It can save a lot find&replace when changing code like changing the identifier of a member from int to Guid and it better shows intent. For example:

    // Aliasing
    using MemberIdentidfier = Guid;

    public class MemberWithAlias
    {
        private MemberIdentidfier m_id;
        private string m_name;

        public MemberWithAlias
                (MemberIdentidfier id)
        {
            m_id = id;
        }

        public MemberIdentidfier Id
        {
            get { return m_id; }
        }

        public string Name
        {
            get { return m_name; }
            set { m_name = value; }
        }
    }

Leave a Reply

Jajah is the VoIP player that brought you web-activated telephony.