SubSonic 3.0.0.3 C # Как мы должны обрабатывать зарезервированные слова? - PullRequest
1 голос
/ 31 июля 2009

У меня есть устаревшая база данных с именами столбцов, такими как «void». У меня также есть несколько баз данных журнала Microsoft SSIS. у них есть имена столбцов, такие как «событие» и «оператор». Похоже, нам нужно установить CleanName в начале столбца в файле Settings.ttinclude, но я не совсем уверен, что лучший способ справиться с этим, поскольку список зарезервированных слов может быть длинным. Должно ли это быть отдельным включением? Я был бы рад внести свой вклад, но сначала я хотел бы получить от дизайнеров что-то от вас, умных людей.

1 Ответ

4 голосов
/ 31 июля 2009

Зарезервированные слова в c # могут быть обработаны в коде, добавив к ним символ '@'. Например,

public void Test(int if)
{
}

завершается с ошибкой компилятора, но

public void Test(int @if)
{
   var something = @if;
}

просто отлично. Это работает и для имен свойств. Возможно, вы могли бы обновить ваши шаблоны T4, чтобы проверить список зарезервированных слов, и, если есть совпадение, добавьте символ «@» перед именем.

Что касается лучшего способа добавления этого в Subsonic, мне придется больше копать.

...