Abbiamo tre possibilità per commentare il codice in c#.
I primi due sono classici in molti linguaggi e non verranno discussi oltre.
Sul terzo tipo di commento si baserà questo capitolo.
Documentazione XML
Iniziamo con un esempio:
using System;
namespace Sample
{
public class Sample
{
public static void Main()
{
int a = 1;
int b = 1;
int c = 0;
c = somma(a, b);
Console.WriteLine("risultato = " + c);
}
private static int somma(int a, int b)
{
return a + b;
}
}
}
Per generare la documentazione xml possiamo:
- utilizzare l’opzione /doc nel compiltatore a riga di comando
- se si usa visual studio, dalle proprietà del progetto (sezione configurazione), indicare ne campo “File di documentazione XML” il percorso del file che si vuola trovare.
Ecco la documentazione generata:
<?xml version="1.0" ?>
<doc><assembly> <name></name></assembly>
<members>
<member T:Sample.Sample><summary></summary>
</member>
<member M:Sample.Sample.Main>
<summary></summary>
</member>
<member M:Sample.Sample.somma(System.Int32,System.Int32)>
<summary></summary>
<param a></param>
<param b></param>
<returns></returns>
</member>
</members>
</doc>
Possiamo notare che sono stati inseriti dei tag particolari come <summary> o <returns>, questi tag consentono di specificare delle tipologie diverse di informazione. <summary> ad esempio è la descrizione dell’elemento che stiamo commentando.
Vediamo una tabella con i tag utilizzabili
| Tag |
Descrizione |
| Una descrizione generica di un metodo, una classe o altro |
| informazioni addizionali |
| permette di specificare i parametri passati ad un metodo |
| permette di specificare che una determinata parola è un parametro |
| il valore di ritorno del metodo |
| permette di specifire le eccezioni che possono verificarsi |
| permette di specificare il livello di accesso |
| consente di descrivere una proprietà |
| specifica un esempio relativo all’utilizzo del codice |
| il testo deve essere identificato come codice |
| più righe devono essere identificato come codice |
| Si può inserire all’interno di alcuni tag come <summary>, <remarks> o <returns>, e permette di aggiungere una struttura al testo. |