【问题标题】:How to create a constructor with a parameter with Roslyn?如何使用 Roslyn 创建带参数的构造函数?
【发布时间】:2022-01-06 03:12:09
【问题描述】:

我正在根据 Open API 规范生成类,并且需要创建一个接受参数并将其设置为字段的构造函数。我该如何使用 Roslyn?

【问题讨论】:

    标签: c# code-generation roslyn roslyn-code-analysis


    【解决方案1】:

    我最终使用这段代码创建了一个接受参数并将其设置为字段的构造函数:

    SyntaxFactory.ConstructorDeclaration("MyClass")
        .AddParameterListParameters(
            SyntaxFactory.Parameter(SyntaxFactory.Identifier("myParameter"))
                .WithType(SyntaxFactory.ParseTypeName("string")))
        .WithBody(SyntaxFactory.Block(SyntaxFactory.ParseStatement($"_myField = myParameter;")))
        .AddModifiers(SyntaxFactory.Token(SyntaxKind.PublicKeyword));
    

    为这段代码生成的构造函数是:

    public MyClass(string myParameter)
    {
         _myField = myParameter;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多