【问题标题】:How to generate function call in Visual Studio from known C# function in [CSharp]?如何从 [CSharp] 中的已知 C# 函数在 Visual Studio 中生成函数调用?
【发布时间】:2019-10-03 08:31:15
【问题描述】:

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);

【问题讨论】:

  • 你的问题有点难以理解,但如果我说得对,你正在寻找覆盖现有功能,你可以这样做override private void Call(int v1, int v2, string v3, int v4, int v5)
  • 重构操作,是Visual Studio中针对选定代码出现的灯泡或螺丝图片,您可以点击并重构选定代码。

标签: c# visual-studio visual-studio-2017 code-generation


【解决方案1】:

要编写自己的函数来生成/修改代码,您需要 Roslyn 语法转换:

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

简而言之:

  • 安装.NET Compiler Platform SDK
  • 创建一个新的 C# 独立代码分析工具项目。在 Visual Studio 中,右键单击 SyntaxTransformationQuickStart 解决方案节点。选择 Add > New Project 以显示 New Project 对话框。在 Visual C# > Extensibility 下,选择 Stand-Alone Code Analysis Tool
  • 创建和转换树

【讨论】:

    猜你喜欢
    • 2020-10-29
    • 1970-01-01
    • 1970-01-01
    • 2016-02-16
    • 2017-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多