0

注釈がどこに行ったのか ( Where is my annotation? )に関する質問への回答を得て、20 回ほど読み直しましたが、なぜこのコードが機能しないのか、なぜ注釈を付けられないのかはまだ不明ですプロパティ、問題はどこにありますか。読みやすいようにコードをインライン化しました...

SyntaxAnnotation propertyAnnotation = null;
SyntaxAnnotation classAnnotation = null;

//first annotate class
classAnnotation = new SyntaxAnnotation();

var newRoot = document.GetSyntaxRoot()
                .ReplaceNode(classDeclaration, classDeclaration.WithAdditionalAnnotations(classAnnotation));

document = document.UpdateSyntaxRoot(newRoot);

//now annotate property 
//first look for classNode that was annotated in previous step
var classNode = document.GetAnnotatedNode<ClassDeclarationSyntax>(classAnnotation);

//now annotate property
propertyAnnotation = new SyntaxAnnotation();
var newClassNode = classNode.ReplaceNode(propertyDeclaration, propertyDeclaration.WithAdditionalAnnotations(propertyAnnotation));

newRoot = document.GetSyntaxRoot()
                     .ReplaceNode(classNode, newClassNode);

document = document.UpdateSyntaxRoot(newRoot);

//Works 
newClassNode = document.GetAnnotatedNode<ClassDeclarationSyntax>(classAnnotation);

//Fails here????
var newPropertyNode = document.GetAnnotatedNode<PropertyDeclarationSyntax>(propertyAnnotation);
4

1 に答える 1