MethodDeclarationSyntax
を変更してReplaceNodeを呼び出す必要があります。
var testDocumentation = SyntaxFactory.DocumentationCommentTrivia(
SyntaxKind.SingleLineDocumentationCommentTrivia,
SyntaxFactory.List<XmlNodeSyntax>(
new XmlNodeSyntax[]{
SyntaxFactory.XmlText()
.WithTextTokens(
SyntaxFactory.TokenList(
SyntaxFactory.XmlTextLiteral(
SyntaxFactory.TriviaList(
SyntaxFactory.DocumentationCommentExterior("///")),
" ",
" ",
SyntaxFactory.TriviaList()))),
SyntaxFactory.XmlElement(
SyntaxFactory.XmlElementStartTag(
SyntaxFactory.XmlName(
SyntaxFactory.Identifier("summary"))),
SyntaxFactory.XmlElementEndTag(
SyntaxFactory.XmlName(
SyntaxFactory.Identifier("summary"))))
.WithContent(
SyntaxFactory.SingletonList<XmlNodeSyntax>(
SyntaxFactory.XmlText()
.WithTextTokens(
SyntaxFactory.TokenList(
SyntaxFactory.XmlTextLiteral(
SyntaxFactory.TriviaList(),
"test",
"test",
SyntaxFactory.TriviaList()))))),
SyntaxFactory.XmlText()
.WithTextTokens(
SyntaxFactory.TokenList(
SyntaxFactory.XmlTextNewLine(
SyntaxFactory.TriviaList(),
"\n",
"\n",
SyntaxFactory.TriviaList())))}));
を...そして私たちはドキュメントを追加するpublic static void Main()
方法があります:
それでは、私たちは次のドキュメントのトリビアを持っているとしましょう。これは、すでに雑学(必ずしも必要ではないが)持っている:私たちはそのリストの最初のトークンのコンテンツをラップする必要が
SyntaxFactory.TokenList(
new []{
SyntaxFactory.Token(SyntaxKind.PublicKeyword),
SyntaxFactory.Token(SyntaxKind.StaticKeyword)}));
(私はプログラム的に行うためにあなたにそれを残しておきますが...)新しいトリビアのリストに:
var newMethodNode = oldMethodNode.WithModifiers(
SyntaxFactory.TokenList(
new []{
SyntaxFactory.Token(
SyntaxFactory.TriviaList(
SyntaxFactory.Trivia(testDocumentation)), // xmldoc
SyntaxKind.PublicKeyword, // original 1st token
SyntaxFactory.TriviaList()),
SyntaxFactory.Token(SyntaxKind.StaticKeyword)}))
root.ReplaceNode (oldMethodNode, newMethodNode);
構成するトリビアを正確に理解するには、RoslynQuoterを使用してください。
ありがとうございました!これは非常に有用でした – ddresner8