Im Folgenden ist die Funktion verwende ich eine einfache Methode zur Erzeugung -Wie Parameter generierte Methode in Roslyn (Microsoft.CodeAnalysis) hinzufügen? - Sie benötigen genaue Syntax
//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());
Und hier ist der Ausgang:
public XYZ MapABCToXYZ(fromObject) // Should be 'ABC fromObject'
{
XYZ myObject = new XYZ();
myObject.MyProperty = fromObject.MyProperty;
myObject.TestProperty = fromObject.TestProperty;
return myObject;
}
Wie Sie sehen können, ist der Parameter nicht „ABC fromObject "und ich habe versucht, die genaue Syntax herauszufinden, um Parameter korrekt hinzuzufügen.
Ich habe verschiedene Möglichkeiten versucht, die Parameter-Syntax, um herauszufinden, und haben leere meist kommen.
EDIT: es herausgefunden. Gerade hatte, um eine Änderung in der folgenden Zeile zu machen:
SF.Parameter(SF.Identifier(sourceObjectName)).WithType(SF.ParseTypeName(sourceClass))
Sie sollten Ihre Lösung als Antwort posten und es dann akzeptieren, anstatt Ihre Frage zu bearbeiten. – svick
Oh okay. Wird das machen. Ich wusste es nicht. –