2015-07-03 4 views
2

Я хочу добавить живой шаблон, который создает вложенный класс CommandImplementation. Сам шаблон выглядит следующим образом:Получить имя родительского класса в Resharper LiveTemplate

public ICommand $COMMAND$ 
    { 
     get { return new $COMMAND$Impl(self: this); } 
    } 

    private class $COMMAND$Impl : ICommand 
    { 
     private readonly $PARENT_CLASS$ self; 

     public $COMMAND$Impl($PARENT_CLASS$ self) 
     { 
      this.self = self; 
     } 

     public bool CanExecute(object parameter) 
     { 

     } 

     public void Execute(object parameter) 
     { 
      throw new NotImplementedException(); 
     } 

     public event EventHandler CanExecuteChanged; 
    } 

Макрос для $PARENT_CLASS$ является «Содержит имя типа», которое приводится к $COMMAND$Impl, а не класс, содержащий все эти вещи.

Что я могу сделать, чтобы получить имя класса, в который этот шаблон вставлен?

ответ

0

Существует не макрос, который дает внешний вид, содержащий тип. В идеале макрос содержащего типа предоставит список завершений всех типов, которые позволят вам выбрать соответствующее значение. Я добавил feature request для этого, чтобы вы могли отслеживать и голосовать.

Этого также можно достичь с помощью настраиваемого плагина, но implementing your own macro.

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