c# - Hur man anpassar typen i Typewriter
Skrivmaskinen genererar datumtyp i TypeScript för DateTime-typer i C#, jag vill ändra det till "string", men kan inte göra det
här är vad jag försökte i .tst
string TypeConverter(Type type){
if(type.Name == "Month") return "string";
return type.Name;
}
Och sedan i den senare delen försökte
//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;]
}
Men ingen av dem fungerar
Svar #1
Anpassade metoder kallas precis som vilken annan egenskap som helst med $MethodName med det aktuella sammanhanget som parameter. Så i ditt exempel finns det två sätt att lösa problemet.
Ändra metodens parameter så att den matchar sammanhanget:
${
string TypeConverter(Parameter parameter)
{
if(parameter.Type.Name == "Month")
return "string";
return parameter.Type.Name;
}
}
export class $Name {$Properties[
public $Name: $TypeConverter;]
}
Eller, anropa metoden från ett Type-sammanhang:
${
string TypeConverter(Type type)
{
if(type.Name == "Month")
return "string";
return type.Name;
}
}
export class $Name {$Properties[
public $Name: $Type[$TypeConverter];]
}
