Csharp/C Sharp/Development Class/XML Documentation

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

How to write the Xml based document

<source lang="csharp"> using System; using System.Collections.Generic; using System.Text; namespace XmlDocCar {

   /// <summary>
   ///  This is a simple Car.
   /// </summary>
   public class Car
   {
       /// <summary>
       /// Do you have a sunroof?
       /// </summary>
       private bool hasSunroof = false;
       /// <summary>
       /// The ctor lets you set the sunroofedness.
       /// </summary>
       /// <param name="hasSunroof"></param>
       public Car(bool hasSunroof)
       {
           this.hasSunroof = hasSunroof;
       }
       /// <summary>
       /// This method allows you to open your sunroof.
       /// </summary>
       /// <param name="state"> </param>
       public void OpenSunroof(bool state)
       {
           if (state == true && hasSunroof == true)
               Console.WriteLine("has sub roof!");
           else
               Console.WriteLine("you don"t have a sunroof.");
       }
   }

}

</source>


set up project with one file containing the <include> tag

<source lang="csharp"> namespace SimpleXML {

   /// <include file="supporting.xml" 
   /// path="MyDocs/MyMembers[@name="Class1"]/*" />
   class Class1
   {
       public static void Main() {}
   }
  
   /// <include file="supporting.xml" 
   /// path="MyDocs/MyMembers[@name="Class2"]/*" />
   class Class2
   {
       public void Foo() {}
   }

}

</source>


Use summary element

<source lang="csharp"> namespace SimpleXML {

   /// <summary>
   /// Summary description for Class1.
   /// </summary>
   class Class1
   {
       /// <summary>
       /// The main entry point for the application.
       /// </summary>
       [STAThread]
       static void Main(string[] args) {}
  
       /// <summary>
       /// This method does something interesting.
       /// </summary>
       public static void Foo() {}
   }

}

</source>


XML based comments

<source lang="csharp"> using System; /// <summary> /// Main method. /// <para>This sample is useless.</para> /// </summary> class SayHello {

   /// <summary>
   /// This is the Main method for the class and is
   /// the execution starting point for our application.
   /// Please note that <paramref name="args">args</paramref>
   /// is a array of strings.
   /// </summary>
   /// <param name="args">params for Main method</param>
   /// <returns>Returns a value depending on how the program
   /// was called.</returns>
   //We want Main to return an integer.
   public static int Main(string[] args) {
       if (args.Length > 0) {
           return (0);
       }
       return (1);
   }

}

</source>


XML Documentation: Compiler Support Tags

<source lang="csharp"> using System; namespace Payroll {

   /// <summary> 
   /// Comments for the class
   /// This class class contains a <see cref="String">string</see>
   /// </summary>
   public class Employee
   {
       /// <summary>
       /// Constructor for an Employee instance. Note that
       /// <paramref name="name">name2</paramref> is a string.
       /// </summary>
       /// <param name="id">Employee id number</param>
       /// <param name="name">Employee Name</param>
       public Employee(int id, string name)
       {
           this.id = id;
           this.name = name;
       }
       
       /// <summary>
       /// Parameterless constructor for an employee instance
       /// </summary>
       /// <remarks>
       /// <seealso cref="Employee(int, string)">Employee(int, string)</seealso>
       /// </remarks>
       public Employee()
       {
           id = -1;
           name = null;
       }
       int id;
       string name;
   }

}

      </source>