Как создать ключевые слова / типы в C #? - PullRequest
4 голосов
/ 09 апреля 2009

Дублирование

typedef в C #?


Есть ли способ создать собственно ключевые слова в C #. Как, например, превратить объект x в тип данных типа int? Наверное, я спрашиваю, есть ли что-то вроде typedef для C #, и если нет, то как я могу на самом деле создавать свои собственные типы, которые выглядят так:

public static crap Main(string[] args)
{
    // Note 'crap' and not 'void'!
}

Ответы [ 2 ]

11 голосов
/ 09 апреля 2009

Вы можете создавать синонимы для классов, таких как Int32 или String, но не int или void, поскольку это ключевые слова. Синтаксис выглядит так:

    using foo = System.Int32;
2 голосов
/ 09 апреля 2009

C # преднамеренно не предоставляет макросы в стиле C / C ++ (используя #define). Вы не можете изобрести такого рода языковые функции и расширить язык за пределы типов. Есть веские причины, по которым они не использовали эту функцию. Если вам действительно нужны такие функции, вы всегда можете запустить исходный файл C # через препроцессор C и скомпилировать полученный файл с помощью компилятора C #. Вы также можете положиться на другие шаблоныные функции, предоставляемые вашей средой (скорее всего Visual Studio T4 engine ).

...