41

Is there a standard convention (like phpdoc or python's docstring) for commenting C# code so that class documentation can be automatically generated from the source code?

6 Answers 6

43

You can use XML style comments, and use tools to pull those comments out into API documentation.

Here is an example of the comment style:

/// <summary>
/// Authenticates a user based on a username and password.
/// </summary>
/// <param name="username">The username.</param>
/// <param name="password">The password.</param>
/// <returns>
/// True, if authentication is successful, otherwise False.
/// </returns>
/// <remarks>
/// For use with local systems
/// </remarks>
public override bool Authenticate(string username, string password)

Some items to facilitate this are:

GhostDoc, which give a single shortcut key to automatically generate comments for a class or method. Sandcastle, which generates MSDN style documentation from XML comments.

Sign up to request clarification or add additional context in comments.

4 Comments

See stackoverflow.com/questions/319632/… for more information about Sandcastle.
Where do I mention the type of arguments and return type?
@PrabhatDoongarwal I think it is not needed for C#. As statical typing language any IDE should tells you type on its own.
Is this the best way to do it??? It seems fairly messy compared to PHPDoc style.
3
/// <summary>
///
/// </summary>
/// <param name="strFilePath"></param>

http://msdn.microsoft.com/en-us/magazine/cc302121.aspx

2 Comments

If i click on this link, I end up here... microsoft.com/en-us/download/details.aspx?id=55979
While links are helpful, you could improve this answer by discussing the precise portion of the document that relates to answering the question, or explaining why it's beneficial. You could, as an example, state that it's the Microsoft-directed standard for inline documentation since 2002.
3

C# has built in documentation commands Have fun!

2 Comments

Unfortunately, this link is out of date
Apparently, said link has been fixed. Ah, XML. The efficiency of prosa, combined with the readability of binary...
1

Microsoft uses "XML Documentation Comments" which will give IDE intellisense descriptions and also allow you to auto-generate MSDN-style documentation using a tool such as Sandcastle if you turn on the generation of the XML file output.

To turn on the generation of the XML file for documentation, right click on a project in visual studio, click "Properties" and go to the "Build" tab. Towards the bottom you can specify a location for your XML comments output file.

Comments

1

The previous answers point out the XML syntax perfectly. I just wanted to throw in my recommendation for the free (and open-source) nDoc help library generator that parses all comments in a project.

Comments

0

I was always told to use block comments opened with 2 or more asterisks do delimit documentation comments.

/**
Documentation goes here.
(flowerboxes optional) 
*/

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.