如何在Typewriter中自定义类型

har*_*shr 4 c# typescript typewriter

打字机正在生成日期型打字稿在C#中的DateTime类型,我想改变它为"串",但不能够这样做

这是我在.tst尝试过的

string TypeConverter(Type type){
    if(type.Name == "Month") return "string";
    return type.Name;
}
Run Code Online (Sandbox Code Playgroud)

然后在后一节尝试

//1
export class $Name {$Properties[
    public $Name: TypeConverter($Type);]
}

//2
export class $Name {$Properties[
    public $Name: TypeConverter;]
}

//3
export class $Name {$Properties[
    public $Name: $TypeConverter;]
}
Run Code Online (Sandbox Code Playgroud)

但他们都没有工作

小智 11

$MethodName使用当前上下文作为参数,可以像调用任何其他属性一样调用自定义方法.因此,在您的示例中,有两种方法可以解决问题.

更改方法的参数以匹配上下文:

${
    string TypeConverter(Parameter parameter)
    {  
        if(parameter.Type.Name == "Month")
            return "string";  
        return parameter.Type.Name;  
    }  
}  
export class $Name {$Properties[  
    public $Name: $TypeConverter;]  
}
Run Code Online (Sandbox Code Playgroud)

或者,从Type上下文中调用方法:

${
    string TypeConverter(Type type)
    {  
        if(type.Name == "Month")
            return "string";  
        return type.Name;  
    }  
}  
export class $Name {$Properties[  
    public $Name: $Type[$TypeConverter];]  
}
Run Code Online (Sandbox Code Playgroud)