C#Typewriter-如何重用模板块

时间:2019-03-01 23:08:17

标签: c# typescript typewriter

我一直试图找出是否有一种方法可以重用模板的各个部分,这样我就不会在整个地方重复相同的内容。这是模板:

$Classes(MyProject.Model.*)[
$NestedEnums[
export enum $Parent_$Name { $Values[$Name = $Value][,] }]

export class $Name {
    $Properties[
    public $Name: $Type = $Type[$Default];]
}

$NestedClasses[
$NestedEnums[
export enum $Parent_$Name { $Values[$Name = $Value][,] }]

export class $Name {
    $Properties[
    public $Name: $Type = $Type[$Default];]
}
]
]

编辑:因此,我能够弄清楚如何包括不同的命名空间,您可以像这样使用lambda表达式来完成它:

$Classes(c => c.Namespace == "MyProject.Model" || c.Namespace == "MyProject.Comms")

因此,我现在需要弄清楚的是是否可以重用模板的某些部分。 $ Classes部分中的本节:

$NestedEnums[
export enum $Parent_$Name { $Values[$Name = $Value][,] }]

export class $Name {
    $Properties[
    public $Name: $Type = $Type[$Default];]
}

与$ NestedClasses部分中的完全相同,如果我能以某种方式重用它,那将是很棒的!任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

如果您要在模板的多个位置重复使用某些功能,则可以将其放在自己的C#函数中(模板的$ Classes部分之外,但位于.tst的$ {}最外括号内)文件),然后在模板中需要的地方调用该函数。此函数将进行枚举并返回一个字符串。

在此示例中,来自打字机网站http://frhagn.github.io/Typewriter/pages/examples.html的“ KnockoutInitializer”功能处理如何处理Knockout Observables的呈现。这里的“自定义方法”标题下还有一些文档:http://frhagn.github.io/Typewriter/pages/getting-started.html

希望这会有所帮助!