views:

40

answers:

2

Hi there

I've made class diagrams for my projects in Visual Studio 2008 and I embed these diagrams with using Sandcastle.

Example:

*A Sandcastle Documented Class Library

Biol..::..f_BiolabTestSayisi Method
Biol Class See Also Send Feedback

Biol hastalarının sayısını veren fonksiyon Namespace: TR.Biol Assembly: TR (in TR.dll) Version: 1.0.0.0 (1.0.0.0)

Syntax

C# public static DataSet f_BiolTestSayisi()

Visual Basic

Public Shared Function f_BiolTestSayisi As DataSet

Visual C++

public: static DataSet^ f_BiolTestSayisi()

Return Value [Missing documentation for "M:TR.Biol.Biol.f_BioTestSayi"]*


I can see all classes in my project with A Sandcastle Documented Class Library. I also want to see method prototype and body. How can i get it?

Thanks in advance.

+1  A: 

You will want to look at extending the sandcastle build with Sandcastle Components (this is a pretty good article on code project, although a bit old). With stuff that's built already I'd suggest using the code block component, and placing a region around your method. Otherwise you'll probably need to write a component yourself.

Note that the docs aren't pulled from the actual code - the XML doc comments are extracted from the code by the compiler, then the documentation is built from that XML. This means you don't actually have the code when building the docs (nor the actual file/line numbers either). Extending the code block component to look for the file/method name may work if you manage overload resolution as well.

Philip Rieck
A: 

Sandcastle generates documentation from compiled assemblies and XML doc file. It doesn't have access to original source code. As already mentioned, it's probably possible to do it by using a component but you need to modify your XML comments. In contrary, our VSdocman uses different approach. It takes XML comments and generates documentation directly from your source code. So it can easily include method body in generated help. You can try it if you don't mind commercial solution.

Peter Macej