예제 #1
0
        public override SyntaxNode VisitEventDeclaration(EventDeclarationSyntax node)
        {
            base.VisitEventDeclaration(node);
            if (node.Parent is InterfaceDeclarationSyntax)
                return node;

            var symbol = semanticModel.GetDeclaredSymbol(node);

            var type = symbol.ContainingType;
            if (type == null)
                return node;

            var faceMembers = symbol.ImplementedInterfaceMember();
            if (faceMembers.Count() != 1)
                return node;

            var interfaceNode = faceMembers.Single().GetSyntaxNodes().Single().Parent.Parent;
            if (interfaceNode.GetDocumentationCommentText() == "" ||
                interfaceNode.GetDocumentationCommentText().Equals(node.GetDocumentationCommentText()))
                return node;

            return node.WithDocumentationComment(interfaceNode.GetDocumentationCommentText());
        }