2016-03-29 3 views
3

Typewriter генерирует тип даты в машинописном для типов DateTime в C#, я хочу изменить его на «строку», но не в состоянии сделать этоКак настроить тип в Пишущей

вот что я пытался в .tst

string TypeConverter(Type type){ 
    if(type.Name == "Month") return "string"; 
    return type.Name; 
} 

И тогда в последнем разделе пытались

//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;] 
} 

Но ни один из них не работают

+0

в первом фрагменте кода он будет возвращаться в утверждение if, то, что вы хотите? 'if (type.Name ==" Month ") return" string ";' –

+0

yes ... thats, что я хочу – harishr

ответ

8

Пользовательские методы называются как любое другое свойство, используя $MethodName, используя текущий контекст в качестве параметра. Поэтому в вашем примере есть два пути решения проблемы.

Изменение параметра метода в соответствии с контекстом:

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

Или вызовите метод из Type контекста:

${ 
    string TypeConverter(Type type) 
    { 
     if(type.Name == "Month") 
      return "string"; 
     return type.Name; 
    } 
} 
export class $Name {$Properties[ 
    public $Name: $Type[$TypeConverter];] 
} 
+0

вы можете присоединиться к [chatroom] (http://chat.stackoverflow.com/rooms/108182/ пишущая машинка), у меня есть вопрос спросить – harishr

Смежные вопросы