2 pagine in totale: <<Indietro 1 [2]
Suggerimenti nell'autocompletion
VS ha un ricco sistema di autocompletion. Oltre al classico popup con proprietà, metodi, ecc., è stato aggiunto anche un sistema di suggerimenti per il membro selezionato nel popup, sia questo proprietà, metodo o evento. In caso di proprietà, a lato appare un altro popup con la spiegazione della stessa, mentre in caso di metodo, una descrizione del metodo con la possibilità di scegliere l'eventuale overload e la spiegazione di tutti i parametri da passare, infine in caso di evento una descrizione associata.
La prima feature (popup con membri pubblici) viene ottenuta tramite reflection ; VS ispeziona l'assembly contenente la classe che stiamo utilizzando e popola il popup. La seconda (popup con suggerimenti) viene ottenuta tramite l'interpretazione di un file XML opportunamente formattato. Questo deve essere presente nella stessa directory dell'assembly e avere il suo stesso nome con estensione .xml (ad esempio il file di descrizione dell'assembly System.dll si chiama System.xml). Fortunatamente la creazione di questo file non è un fardello sulle nostre spalle, come nel caso del file per l'autocompletion HTML, ma è un compito che il compilatore C# svolge per noi, interpretando i commenti inseriti in testa alle classi e a tutti i membri contenuti in esse. E' stato specificato il compilatore C# perché questa feature non è presente in quello VB. Di default, questa funzione non è abilitata, quindi, bisogna intervenire sulle proprietà del progetto ed inserire il nome del file da creare.

E' infatti possibile inserire i commenti seguendo una sintassi che sfrutta la potenza del codice markup, attraverso una sintassi XML contenuta nei commenti.
VS.NET, per arricchire l'autocompletion, utilizza solo alcuni dei tag messi a disposizione. Ce ne sono altri che permettono di specificare molte altre informazioni, dato che il file XML non ha solo lo scopo di fornire i suggerimenti per VS.NET, ma anche quella di fornire l'input per la creazione di file di help. Ci sono alcuni tool, free e non, che partendo da questo file creano file di help identici a MSDN, come nDoc .
Vediamo come scrivere i commenti nel nostro codice.
/// include file='file.xml' path='xml[@param="value"]/*' />
/// <param name="Param1">Primo parametro</param>
/// <returns>Valore di ritorno</returns>
/// <summary>Descrizione di un membro e/o di una classe</summary>Come detto, VS non utilizza tutti i tag di commento ai fini del suggerimento, per cui per i nostri scopi sono importanti:
- <include> : permette di importare il contenuto di un file XML di commenti all'interno del file. La potenza di questo tag sta nel permettere di importare determinate informazioni, estratte dal file, tramite la sintassi XPath evitando così di dover duplicare i commenti;
- <param> : descrive un parametro;
- <returns> : descrizione del parametro di output di un metodo, utilizzato solo da metodi che tornano un valore;
- <summary> . il tag più importante, permette di inserire il commento principale per ogni membro della classe e per la classe stessa.
I tag rimanenti che VS non usa, ma che sono importanti ai fini della creazione dei file di help, sono molti di più.
/// <para>Here's how you could make a second paragraph in a description. <see cref="System.Console.WriteLine"/> for information about output statements.</para>
/// <seealso cref="MyClass.Main"/>
/// <remarks>
/// You may have some additional information about this class.
/// </remarks>
/// <value>Name accesses the value of the name data member</value>
/// <see cref="NullableInt16"/>
/// <exception cref="System.OverflowException">
/// </example>
/// <code>
/// class MyClass
/// {
/// public static int Main()
/// {
/// return GetZero();
/// }
/// }
/// </code>
/// </example>
/// <remarks>MyMethod is a method in the MyClass class.
/// The <paramref name="Int1"/> parameter takes a number.
/// </remarks>- <code> : contrassegna un gruppo di righe come codice. In MSDN tutti gli esempi vengono scritti all'interno di questo tag. Normalmente questo viene inserito all'interno di un tag <example>.
- <example> : assegna un titolo al codice che viene inserito nel tag innestato <code>:
- <exception> : permette di specificare i tipi di eccezioni che il metodo può generare. Applicabile solo ad un metodo;
- <para> : crea un nuovo paragrafo all'interno dei tag <summary> , <remarks> e <returns> ;
- <permission>: permette di specificare la classe usata per le policy di accesso al membro o alla classe;
- <remarks> : permette di inserire informazioni aggiuntive oltre a quelle specificate nel tag summary, generando una sezione a parte nei file di help.
- <see> : tramite l'attributo cref, specifica un tipo a cui si vuole fare riferimento, nell'help viene visualizzato come link alla pagina di descrizione del membro;
- <seealso> : identico al tag <see> con la differenza di essere visualizzato nella sezione "Vedere anche" dell'help;
- <value> : permette di descrivere una proprietà.
Conclusioni
Alla fine di questa serie, abbiamo visto il completo ciclo di vita delle feature di Design-Time. Infatti, abbiamo un designer per VS, editor di proprietà e di controllo, per semplificare al massimo il compito dello sviluppatore in maniera visuale, e un sistema di autocompletion in HTML e di suggerimenti nel code-behind. Nessuna di queste feature è indispensabile per il deployment e l'utilizzo di un controllo, ma la differenza tra un controllo professionale e uno non professionale sta anche nella semplicità di configurazione che i primi sono in grado di offrire.
Approfondimenti
- Costruzione di custom web controls con supporto a design time
- Costruzione di custom controls con supporto a design time: Property Editor e Component Editor
- Databinding e templating con ASP.NET
- Costruire un Repeater a gruppi
2 pagine in totale: <<Indietro 1 [2]
Attenzione: Questo articolo contiene un allegato
Contenuti dell'articolo
- Galleria fotografica dinamica con ASP.NET AJAX
- Usare Search come un servizio nei tuoi siti e nei tuoi client
- Mappe nel tuo sito con Virtual Earth
- Integrare Windows Live ID, Contacts e Presence API nelle tue applicazioni
- Introduzione ai cloud based service con Windows Live Services
- Realizzare un custom extender AJAX con ASP.NET 3.5
- Tracciare le modifiche ai dati e allineare i datawarehouse con il Change Data Capture in SQL Server 2008
- Le nuove caratteristiche di IIS 7.0 per sviluppatori e sistemisti
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.







Difficoltà
Utilità

Stampa
Download


10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!