Часто хочется абстрагироваться от простых типов и дать им имя. Т.е. например не int id, а MessageId id.
В C++ это typedef int MessageId
В Pascal это MessageId = int
А как это сделать в C#?
Использовать using не получится, т.к. это имя должно быть видно за пределами namespace и assembly... Т.е. чтобы пользователь класса мог писать MessageId, а не int...