Псевдонимы(алиасы) в перечисления — правила использования (c#)?
Всем привет! Сейчас изучаю перечисления в c# и хотел спросить, почему в с# можно использовать псевдоним для любого целого типа данных
(byte, sbyte, short, ushort, int, uint, long, ulong) , но нельзя
использовать любой системный целый тип данных C# (Byte, SByte, Int16, UInt16, Int32, UInt32, Int64, UInt64) ?
Когда я смотрел видео урок, то там был такой пример-объяснение: "Представте себе ситуацию в которой возможно, Вы захотите отказаться от Framework-ов предоставляемых Microsoft в языке c# и отключите импорт всех библиотек и в том числе импорт библиотеки System, и решите создавать свои типы. Вы ведь можете создавать свои типы? Конечно же да, но при этом у вас должны остаться простейшие типы данных. Так вот, простейшие типы даннных(даже при отключенной библиотеке System) у вас все же останутся, но в виде алиасов, а не в виде полноценной структуры (например byte) которая входит в пространство имен System. ". Почему при таком подробном описании ситуации я это все спрашиваю? Дело в том, что далее по уроку автор уделил теме алиасов еще некоторое время (а сам автор страдает забывчивостью сказать что то важное и иногда к сожалению обладает некоторой степенью недосказанности по некоторым вопросам)
Вот в чем мой вопрос: Есть ли еще причины (помимо вышеприведенного примера) почему в перечислениях используют алиасы(псевдонимы)?
меня интересует почему можно написать enum Smth : int { ... }, но нельзя написать enum Smth : Int32 { ... }. (помимо вышеописанного мной примера) Мне ничего не мешает, ведь пока что на практике я это использовать не буду. Я просто хочу разобраться с темой: перечисления. Не могли бы Вы прокомментировать тему созданную мной на другом форуме вот по этому адресу (Если это не запрещено правилами Тостера - которых я так и не нашел) www.cyberforum.ru/csharp-beginners/thread1664793.html
Прлкомментировать ответы других пользователей в этой теме
BadCats: Цитата : "меня интересует почему можно написать enum Smth : int { ... }, но нельзя написать enum Smth : Int32 { ... }". Я взял студию и написал и так и так. Вызвал сборку проекта - все прекрасно собралось. Что я делаю не так?