8
下面是我用来生成一个简单的方法的功能 -如何将参数添加到Roslyn(Microsoft.CodeAnalysis)中生成的方法? - 需要确切的语法
//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))
您应该发布您的解决方案作为答案,然后接受它,而不是编辑您的问题。 – svick
哦,好的。会这样做。不知道。 –