Пишущая машинка: генерировать имя переменной с добавленным постфиксом - PullRequest
0 голосов
/ 06 ноября 2018

В настоящее время я использую Typewriter для автоматической генерации класса TypeScript из моих классов C #:

[TsDTO]
public class MyDto {
    public string Prop1 { get; set; }
    public string Prop2 { get; set; }
}

И я хочу просто сгенерировать интерфейс Typescript, добавив постфикс «xyz» к именам свойств:

export Interface IMyDto {
    prop1xyz: string;
    prop2xyz: string;
}

Можно ли определить мой шаблон для добавления "xyz" без создания собственного метода?

Этот шаблон не работает:

$Classes(c => HasAttribute(c.Attributes, "TsDTO"))[
    export interface I$Name {
        // properties
        $Properties()[$namexyz: $Type;    <-- "xyz" breaks the code!
        ]
    }]

1 Ответ

0 голосов
/ 11 декабря 2018

Создайте метод расширения в блоке кода в верхней части шаблона:

${
    string NameSuffixed(Property p)
    {
        return p.name + "xyz";
    }
}

Затем используйте его в своем шаблоне недвижимости:

$Classes(c => HasAttribute(c.Attributes, "TsDTO"))[
    export interface I$Name {
        // properties
        $Properties()[$NameSuffixed: $Type;
        ]
    }]
...