Шаблон рефакторинга Resharper для переноса назначения локальной переменной в try catch

Если у меня есть следующий код

var x = foo();
DoSomethingWith(x);

где

Foo foo(){...}

иногда я хочу обернуть это в обработчик исключений

Foo x;
try{
 x = foo();
}catch(Exception e){
 $InsertPoint$
}
DoSomethingWith(x);

Теперь я знаю, как обойти шаблоны, и я видел некоторую информацию о том, как выполнять структурное сопоставление. Можно ли в R # построить шаблон, который получит тип x (он объявлен как var), а затем сгенерирует обернутую форму с явным объявлением.

1 ответ

Попробуйте сопоставить $type$ $id$ = $expr$; и заменить на

$type$ $id$;
try{
 $id$ = $expr$;
}catch(Exception e){
 //Insert code here
}

используя структурированный поиск и замену. Важно отметить $expr$ как expression не как identifier

licensed under cc by-sa 3.0 with attribution.