-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for namespace XML doc comments #15474
Comments
Already mentioned in #67. |
Obvious question: which namespace declaration the documentation goes on. How do you determine "last one wins"? |
@svick Missed it in there, thanks. I think it's worthwhile separating doc comment inheritance from namespace/assembly doc comment support since they're essentially two totally different issues. The discussion in #67 seems to focus on inheriting doc comments, so I'll suggest this issue track the namespace/assembly request. |
@jjrdk Same way it does for partial classes - it appears to be based on sorting the trivia locations, but I could be mistaken on that point. |
After some research, it looks like the default behavior for symbols that span multiple trivia locations is to aggregate their documentation comments. I was actually able to stub out some rudimentary support for this using reflection to see how it might work. The following code uses
It produces the following XML:
I also gave some thought to namespace XML comments in the XML comment output file. I think it's reasonable to include them since that file can also contain custom XML comment elements. Because of that, anyone parsing this file is likely using XPath or some other parsing mechanism that looks for specific element names rather than position. I plan to submit a PR for this soon that addresses it in the following way:
Still not sure what to do about |
Copied to dotnet/csharplang#315 |
Thanks! Closing this so discussion can continue at dotnet/csharplang#315 |
Over the years, different .NET documentation generators have used different techniques for representing documentation on a namespace. For example, NDoc and SHFB both use a special
NamespaceDoc
class and "promote" any XML doc comments on that type to the containing namespace.As far as I can tell, Roslyn doesn't currently support XML doc comments on namespaces (there's no
GetDocumentationCommentXml()
override for namespace symbols). I propose that XML doc comments applied to a use of the namespace get picked up and returned fromGetDocumentationCommentXml()
. This would work just like a partial class and if multiple doc comment blocks are provided for a namespace, the last one wins.I suppose namespace comments should also be included in the generated XML documentation output file (as created in
DocumentationCommentCompiler
). That seems like it might be a bit trickier since consumers probably don't expect comment elements at the namespace level. Is there a formalized schema somewhere for this XML output?The text was updated successfully, but these errors were encountered: