In C#, sto tentando di utilizzare < vedere cref = "blah"/> per fare riferimento a una firma del metodo che contiene la parola chiave params. So che questo converte l'elenco dei parametri in un array, ma non riesco nemmeno a capire come fare riferimento a un array in un attributo CREF. Non trovo nulla nelle mie ricerche e nessuno che conosca ha alcuna idea, neanche. Il compilatore sta soffocando sulle parentesi quadre. Ho provato tutti i tipi di combinazioni diverse, usando le parentesi graffe, usando la classe Array, ma non funziona nulla. Qualcuno lo sa?Utilizzando l'attributo CREF del commento xml di C# con sintassi params
risposta
L'ECMA 334 PDF standard, allegato E contiene una panoramica decente di commenti di documentazione XML. È possibile scaricare lo standard a:
http://www.ecma-international.org/publications/standards/Ecma-334.htm
In particolare, ti consigliamo sezione E.3.1, a partire da pagina 496.
Contenuti simili è anche a MSDN (anche se MSDN sembra avere terribili la navigazione su questo argomento, il che rende difficile trovare le altre sezioni):
http://msdn.microsoft.com/en-us/library/aa664787(VS.71).aspx
L'equivalente a E.3.1:
http://msdn.microsoft.com/en-us/library/aa664807(VS.71).aspx
È inoltre possibile trovare la documentazione del Mono utili:
http://www.go-mono.com/docs/[email protected]%3amdoc(5)
specfically, la sezione "CREF FORMAT" copre le convenzioni stringa ID.
Basta lasciare la parola chiave param e mettere nel tipo come questo:
/// <summary>
/// <see cref="Method(string[])"/>
/// </summary>
public static void Main()
{
Method("String1", "String2");
}
public static void Method(params string[] values)
{
foreach (string value in values)
{
Console.WriteLine(value);
}
}
Secondo l'articolo B.3.1 ID string format, fare riferimento a un array è fatto con [parentesi quadre] (con gli specificatori lowerbound:size
facoltativi) ma se si desidera fare riferimento a un array di un certo tipo (o anche a un array di oggetti), è possibile 't basta scrivere
<see cref="Object[]"/>
invece è necessario specificare che stai facendo un riferimento di tipo con il prefisso T:
, come
<see cref="T:Object[]"/>
Questo non sembra da applicare quando fa riferimento a un sovraccarico di specifica di un metodo, ad esempio
<seealso cref="String.Join(String, String[])"/>
Sembra il prefisso "M:" ('
+1 Per la ricerca e la sfilza di riferimenti, ma io continuo a pensare questa risposta potrebbe beneficiare di un esempio di montare il Requisiti dell'OP. – Basic
Questa risposta sarà abbastanza inutile quando i collegamenti smetteranno di funzionare. – James