【发布时间】:2017-04-16 00:04:45
【问题描述】:
我尝试使用 Roslyn 向类添加方法。
我解析 .cs 文件并得到决定的类。
SyntaxTree tree = SyntaxTree.ParseFile(Path);
CompilationUnitSyntax root = (CompilationUnitSyntax)tree.GetRoot();
MemberDeclarationSyntax firstMember = root.Members[0];
TypeDeclarationSyntax lClassDeclarationSyntax = (TypeDeclarationSyntax)NamespaceDeclaration.Members[1];
然后我创建一个 MemberDeclaration 类型的实例
MethodDeclarationSyntax lMethodDeclarationSyntax= Syntax.MethodDeclaration(
Syntax.List<AttributeListSyntax>(),
Syntax.TokenList(),
Syntax.IdentifierName("MemoryStream"),
null,
Syntax.Identifier("Serialize"),
null,
Syntax.ParameterList(),
Syntax.List<TypeParameterConstraintClauseSyntax>(),
Syntax.Block(lList));
lList 是方法的主体。
然后我尝试将此实例添加到类中
lClassDeclarationSyntax.Members.Add(lMethodDeclarationSyntax);
但没有任何回应。 我该怎么做?
【问题讨论】: