Как сгенерировать вызов функции в Visual Studio из известной функции C # в [CSharp]? - PullRequest
0 голосов
/ 16 мая 2019

Где находится код для Visual Studio 2017/19 для операций рефакторинга, таких как

  • Ввести константу

  • Изменить подпись

  • Метод переименования

Операция рефакторинга в VS2019: https://docs.microsoft.com/en-us/visualstudio/ide/refactoring-in-visual-studio?view=vs-2019

Можно ли найти код и перекомпилировать его для моего экземпляра Visual Studio?

Я хочу создать новую команду, когда, учитывая существующую функцию, такую ​​как

 private void Call(int v1, int v2, string v3, int v4, int v5) {
     throw new NotImplementedException();
 }

, я могу сгенерировать код, который вызывает эту функцию

int v1 = default(int);
int v2 = default(int);
string v3 = default(string);
int v4 = default(int);
int v5 = default(int);

Call(v1: v1, v2: v2, v3: v3, v4: v4, v5: v5);

1 Ответ

1 голос
/ 16 мая 2019

Чтобы написать свои собственные функции для генерации / изменения кода, требуется преобразование синтаксиса Roslyn:

https://docs.microsoft.com/en-us/dotnet/csharp/roslyn-sdk/get-started/syntax-transformation

Короче:

  • Установите .NET SDK Platform SDK
  • Создайте новый C # автономный инструмент анализа кода проект.В Visual Studio щелкните правой кнопкой мыши узел решения SyntaxTransformationQuickStart.Выберите Добавить> Новый проект , чтобы отобразить диалоговое окно Новый проект .В разделе Visual C #> Расширяемость выберите Автономный инструмент анализа кода .
  • Создание и преобразование деревьев
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...