Мы используем Antlr StringTemplates для управления выводом имени сущности.
Основной шаблон строки -
$ FirstName $ $ Initial $ $ LastName $,
$ Суффикс $, $ Степень $
Я хочу добавить несколько смарт-символов в этот шаблон, чтобы запятые выводились только при необходимости, т.е. первая запятая выводится только при наличии суффикса или степени, а вторая запятая выводится только при наличии суффикса. *
Я попробовал следующий бит строки шаблона, он не работает. Я думаю, я неправильно понял
$ FirstName $ $ Initial $ $ LastName $
, , $ Suffix $
, $ Степень $
Если это поможет, мы обработаем шаблоны, используя этот C #
StringTemplate stringtemplate = new Antlr.StringTemplate.StringTemplate(template.Data);
foreach (Pair<string, string> pair in dictionary)
{
if (pair.First != null && pair.Second != null)
{
stringtemplate.SetAttribute(pair.First, pair.Second);
}
}
return stringtemplate.ToString();