Создать метод, который вызывает метод частного поля класса, просто перенаправив параметры? - PullRequest
0 голосов
/ 28 мая 2018

Можно ли в Visual Studio или ReSharper сгенерировать метод, который просто перенаправляет параметры в метод частного поля?

class Inner
{
 public void Test(String a, String b){}
}
class Outer
{
  private Inner _inner;
  public Outer(Inner inner)
  {_inner = inner;}
  /*
  //I want to generate this:
  public void Test(String a, String b)
  {
    _inner.Test(a, b);
  }
  */
}

1 Ответ

0 голосов
/ 28 мая 2018

Функция Resharper, которую вы ищете, называется "Генерация делегирующих членов" и описана здесь :

Для генерации делегирующих членов

  1. В редакторе установите каретку на имени типа или внутри типа в строке, в которую вы хотите вставить делегирующие члены.Если каретка находится на имени типа, сгенерированный код будет добавлен в начале объявления типа.

  2. Нажмите Alt + Insert или выберите ReSharper |Редактировать |Сгенерировать код ... из главного меню.Либо вы можете нажать Ctrl + Shift + A, начать ввод имени команды во всплывающем окне и затем выбрать его там.

  3. Во всплывающем меню «Создать» выберите «Делегирование членов».
  4. В открывшемся диалоговом окне «Генерирование» вы увидите список личных свойств и полей текущего типа.Вы можете расширить эти элементы, чтобы увидеть членов их типов.Выберите некоторые или все эти члены типа, и ReSharper сгенерирует оболочки в текущем типе, которые делегируют выполнение выбранным членам типа.
  5. Нажмите кнопку Готово, чтобы завершить работу мастера.Вы также можете нажать Опции, чтобы просмотреть или изменить общие настройки генерации кода в Редактирование кода |Страница создания членов ReSharper.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...