gpt4 book ai didi

c# - 如何在 Roslyn ( Microsoft.CodeAnalysis ) 中向生成的方法添加参数? - 需要准确的语法

转载 作者:可可西里 更新时间:2023-11-01 09:11:43 25 4
gpt4 key购买 nike

下面是我用来生成简单方法的函数 -

//NOTE : SF = SyntaxFactory
List<ParameterSyntax> parameterList = new List<ParameterSyntax>
{
SF.Parameter(SF.Identifier(sourceObjectName))
};
// Create method
var method = SF.MethodDeclaration(SF.ParseName(destinationClass), functionName)
.WithBody(SF.Block(nodes))
.AddModifiers(SF.Token(SyntaxKind.PublicKeyword))
.AddParameterListParameters(parameterList.ToArray())
.NormalizeWhitespace();
// NEED TO ADD PARAMS TO CODE
Console.WriteLine(method.GetText());

这是输出:

public XYZ MapABCToXYZ(fromObject) // Should be 'ABC fromObject'
{
XYZ myObject = new XYZ();
myObject.MyProperty = fromObject.MyProperty;
myObject.TestProperty = fromObject.TestProperty;
return myObject;
}

如您所见,参数不是“ABC fromObject”,我一直在尝试找出正确添加参数的确切语法。

我尝试了各种方法来弄清楚参数语法,但大部分都是空白。

编辑:弄明白了。只需在以下行中进行更改:

SF.Parameter(SF.Identifier(sourceObjectName)).WithType(SF.ParseTypeName(sourceClass))

最佳答案

按照建议,我在这里发布解决方案 -

想通了。只需在以下行中进行更改:

SF.Parameter(SF.Identifier(sourceObjectName)).WithType(SF.ParseTypeName(sourceClass))

其中“sourceClass”是所需类型的字符串。

关于c# - 如何在 Roslyn ( Microsoft.CodeAnalysis ) 中向生成的方法添加参数? - 需要准确的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29787851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com