Как добавить параметры в сгенерированный метод в 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))

1 ответов


Как было предложено, я размещаю здесь -

разобрался. Просто пришлось внести изменения в следующую строку:

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

где 'sourceClass' - строка требуемого типа.